Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 避免页面在加载后返回顶部_Javascript_Jquery - Fatal编程技术网

Javascript 避免页面在加载后返回顶部

Javascript 避免页面在加载后返回顶部,javascript,jquery,Javascript,Jquery,我正在使用这个脚本 jQuery(document).ready(function($) { $(".scroll").click(function(event){ event.preventDefault(); $('html,body').animate({scrollTop:$(this.hash).offset().top}, 2000); }); }); 为了在单击我的导航元素时平滑向下滚动。。。问题是,如果在页面完成加载之前单击了链接,当它完成加载时,页面将再次返回顶部 我认为事件

我正在使用这个脚本

jQuery(document).ready(function($) {
$(".scroll").click(function(event){
event.preventDefault();
$('html,body').animate({scrollTop:$(this.hash).offset().top}, 2000);
});
});
为了在单击我的导航元素时平滑向下滚动。。。问题是,如果在页面完成加载之前单击了链接,当它完成加载时,页面将再次返回顶部


我认为事件是默认的;是为了避免这种情况。请提供帮助。

您应该改用document.onLoad事件

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

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

如果等待此事件,则应该会得到所需的结果。尽管在那之前他们没有任何点击功能


此外,preventDefault并不能避免这种情况。所做的只是禁用应用它的元素的默认操作。因此,无论“滚动”元素的默认操作是什么,我认为onload都需要很长时间才能让导航正常工作。。。因为它等待加载所有内容。我是对的?这取决于内容,是的,可能需要一段时间。我不知道如何防止滚动条重置。我尝试使用return false而不是event.preventDefault,但不起作用。。。我真的不知道该怎么办。