2011-01-21 68 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

相关问题