有人在过去发布过这篇文章,所以我会重新发布它,因为我很想知道是否有任何自定义脚本具有此功能。我敢说,所以我不必自己编码:P
摘自this SO post: “我已经知道了jQuery插件ScrollTo,但到目前为止我还没有找到任何方法来实现以下内容:
用户访问我的网站(通过输入,而不是点击我页面上的链接)domain.com/bla.php#foo
并且锚“#foo”存在。现在我希望用户的浏览器不会自动滚动到“#foo”,而是我想要平滑滚动,以便元素'#foo'位于视图的中间而不是在绝对的顶部位置用户查看。
到目前为止感谢!“
答案 0 :(得分:1)
你可以解决这个问题。在其中添加一个脚本以获取当前位置。将scrolltop设置为页面顶部,然后在页面加载时添加jQuery.ready(scrollTo)块。
伪代码实现如下。
<head>
<script src="jquery.js">
<script>
var loc = window.location;
var anchor = getAnchor(loc);
if (anchor !== undefined) {
removeAnchor(loc, anchor);
scrollTo(0);
$.ready(function() {
$.scollTo(anchor);
});
}
</script>
...
我希望在浏览器有机会捕捉锚点之前触发此操作。它可能会也可能不会起作用。随意自己充实。