2013-06-19 70 views
1

后,我才能顺利向下滚动被点击我的导航元素时,正在使用该脚本避免页面返回顶部装载

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

...问题是,如果一个链接页面之前完成点击加载完成后,页面将再次返回顶部。

我以为event.preventDefault();是为了避免这一点。请帮助。

+0

我试图用虚假的回报,而不是event.preventDefault但没有工作...我真的不知道该怎么办。 –

回答

0

您应该使用document.onLoad事件。

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

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

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

此外,preventDefault并不避免这种情况。所有这些都会禁用您将其应用到的元素的默认操作。所以预防的任何默认操作将是你的“滚动”元素

+0

我认为onload是一个非常漫长的等待导航正常工作...因为它等待一切都被加载。我是对的? –

+0

取决于内容,是的,它可能需要一段时间。我不知道如何防止滚动条重置。 – 75inchpianist