2

我目前正在使用 jQuery-Smooth-Scroll 平滑地向上和向下滚动到我的一个页面上的各个锚点位置(第 1 页)。但是,我还想做的是,从另一个页面(第 2 页)链接到 Page1(将 #bookmark 附加到 url)并让 jQuery-Smooth-Scroll 了解我正在调用该页面的事实使用#bookmark 并在页面完成加载后平滑向下滚动到相关位置。不知道这有没有可能?

这是我正在使用的 Smooth-Scroll 版本:

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

我对 jQuery 还比较陌生,所以我可能会忽略一些明显的东西。

4

2 回答 2

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');
    }
}
// }
于 2011-01-21T13:40:42.643 回答
3

有可能,您想在页面加载完成后调用平滑滚动功能。在 jQuery 中,它使用 $(document).ready(function () { your code } );

您需要输入一些内容来解析您的网址以提取#bookmark,然后调用平滑滚动。

于 2011-01-21T09:14:17.537 回答