1

我正在使用这个脚本

jQuery(document).ready(function($) {
$(".scroll").click(function(event){
event.preventDefault();
$('html,body').animate({scrollTop:$(this.hash).offset().top}, 2000);
});
});

为了在单击我的导航元素时平滑向下滚动...问题是,如果在页面完成加载之前单击链接,则当它完成时页面将再次返回顶部。

我以为 event.preventDefault(); 是为了避免这种情况。请帮忙。

4

1 回答 1

0

您应该改用 document.onLoad 事件。

在将所有 HTML 放入文档并准备好解析之后调用 document.ready。

另一方面,在所有图像/资源也加载到页面后调用 onLoad。

如果你等待这个事件,那么你应该得到想要的结果。尽管在那之前他们不会有任何点击功能。

此外, preventDefault 并没有避免这种情况。所做的只是禁用应用它的元素的默认操作。因此它可以防止您的“滚动”元素的默认操作

于 2013-06-19T04:24:28.843 回答