我试图实现一个jQuery插件,以自动向下滚动到新屏幕上的页面, 例如:
www.mysite.com(标题页面加载)
www.mysite.com/#div1(在div1上加载页面)
这是我的jQuery代码
<script>
if(window.location.hash) {
var hash = window.location.hash; //Puts hash in variable
// hash found
}
$(document).ready(function () {
// Handler for .ready() called.
$('html, body').animate({
scrollTop: $(hash).offset().top
}, 2000);
alert();
});
</script>
目前,当我在新屏幕上打开菜单项时,它不会向下滚动。我在Chrome控制台上收到此错误:
未捕获的TypeError:无法读取属性&#39; top&#39;未定义的
答案 0 :(得分:1)
尝试
<script>
$(document).ready(function () {
if (location.hash) {
$('html,body').animate({
scrollTop: $(location.hash).offset().top
}, 2000);
}
});
</script>
如果您有兴趣,可以查看jquery.localScroll,这样可以简化此操作,并使页面上的所有链接自动滚动。您需要将hash
设置为true。