2017-06-23 170 views
0

有一个关于Anchor点的问题。滚动到具有uRL中多个锚点的锚点,

我有一个像 .TLD/ /#点1 /#点2,我也使用由第一#point1触发选项卡的URL。因此,如果有人打开链接,浏览器会检测该页面上的第一个标签,然后需要找到第二个#point2,这是一个像<div id="point2"></div>这样的定位点。

但现在问题来了,因为当页面加载时不可能使用多个锚点滚动条,我必须找到其他选项。但是,过失并没有那么多的经验。谁能帮助我?

问候的Martijn

+0

只需指向最后一个内部锚点,只需使用'domain.tld/sub /#point2'。 –

+0

这是不可能的,因为该页面被分类为多个选项卡! – dutchsociety

+0

那是怎么回事?你能分享你的代码吗? –

回答

0

好吧,我改变了答案从斯塔夫罗斯有点像下面:

jQuery(document).ready(function($) { 
    goToUrl(); 


    function goToUrl() { 
    var newUrl  = document.URL; 
    var newUrlArr = newUrl.split("?target="); 
    var defUrl = newUrlArr[1].slice(0, newUrlArr[1].indexOf("#")); 

    var newUrlArrLength = defUrl.length; 
    if (newUrlArrLength>0) { 
     var tag = $("#"+defUrl+""); 
     $(window).scrollTop(tag.offset().top); 
    } 
} 

}); 

这确实对我的工作!谢谢斯塔夫罗斯。

1
$(document).ready(function() { 
    goToUrl(); 
}); 


function goToUrl() { 
    var newUrl  = document.URL; 
    var newUrlArr = newUrl.split("#"); 
    var newUrlArrLength = newUrlArr.length; 
    if (newUrlArrLength>0) { 
     var last = parseInt(newUrlArrLength) -1; 
     var lastUrl   = newUrlArr[last]; 
     var lastItem  = $("#"+lastUrl); 
     $('html, body').animate({ 
      scrollTop: lastItem.offset().top 
     }, 1000); 
    } 
}