JavaScript:如何停止SetTimout重新加载页面

JavaScript: How can I stop SetTimout reloading my page?

本文关键字:加载 新加载 何停止 SetTimout JavaScript      更新时间:2023-09-26

我有一个函数,可以在表行上设置display=none。在函数结束时,我想设置一个超时,以便在几毫秒后隐藏下一个表行。

不过我有个问题。当超时到期时,页面将被重新加载(取消我的功能和滚动到页面顶部的效果)。如果我使用空超时,甚至会发生这种情况:window.SetTimeout(function () { ; }, 1000);我如何才能阻止这种情况的发生?

我正在使用最近的Chromium。

我认为您的问题在其他地方,忽略了您将SetTimeout错误(应该是setTimeout)的明显错误。

您的代码中没有应该刷新页面的内容。

编辑:

想一想,由于SetTimeout的大小写错误,可能您的点击处理程序没有按预期完成,从而使链接"通过"并加载页面。

第2版:

啊,事实并非如此。。。。

http://jsfiddle.net/eGhQM/6/

第3版:

也许是(不过fiddle出现了x错误)http://jsfiddle.net/eGhQM/9/

我不确定我是否100%理解这个问题,但如果您存储了设置的超时,则可以使用clearTimeout。也就是说:

var timeout = setTimeout(function(){
  alert('Hello, world!');
}, 1000);
...
clearTimeout(timeout); // destroys the timeout, preventing it from occurring
                       // (assuming you call this before the time expires)