2011-01-21 70 views
2

我目前正在使用jQuery-Smooth-Scroll平滑地向上和向下滾動到我的一個頁面上的各種錨點位置(頁1)。但是,我還希望能夠從另一個頁面(頁面2)鏈接到Page1(將#bookmark附加到url)並讓jQuery-Smooth-Scroll接收我正在調用頁面的事實使用#書籤並在頁面完成加載後順利地向下滾動到相關位置。我不知道這是否有可能?使用jQuery-Smooth-Scroll從一頁到另一頁?

這是平滑捲動的版本,我使用的是:

https://github.com/kswedberg/jquery-smooth-scroll

我還是比較新的jQuery的,所以我可能會忽視的東西明顯。

回答

3

這是可能的,當頁面完成加載時,您想調用平滑滾動功能。在jQuery中,它使用$(document).ready(function(){your code});

你需要放入東西來解析你的url來提取#bookmark然後調用平滑滾動。

+0

優秀的,謝謝。我不認爲你會知道如何使用JavaScript你會怎麼做(我的意思是,從URL中提取#書籤)? – marcusstarnes 2011-01-21 09:20:56

7

Ajma的答案應該是足夠了,但對於完整性:

alert(location.hash) 

編輯:更完整的示例:

// on document.ready { 
if (location.hash != '') { 
    var a = $("a[name=" + location.hash.substring(1) + "]"); 
    // note that according to w3c specs, the url hash can also refer to the id 
    // of an element. if so, the above statement becomes 
    // var a = $(location.hash); 
    if (a.length) { 
     $('html,body').animate({ 
      scrollTop: $(a).offset().top 
     }, 'slow'); 
    } 
} 
// } 
+0

感謝有關這方面的更多信息。我看到一個問題,雖然看起來像在網址中有一個散列的簡單存在似乎是讓它直接跳到頁面上的書籤,而不是讓它讓jquery使用平滑滾動來處理。我想知道如果不是從第2頁的Page1與URL中的#bookmark鏈接到Page1,我是否需要使用類似?bookmark的東西,然後尋找一個?而不是散列,然後平滑滾動到它發現後的書籤。 – marcusstarnes 2011-01-21 16:10:08

相關問題