2017-06-23 174 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); 
    } 
}