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

时间:2012-02-21 14:56:36

标签: javascript settimeout

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

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

我正在使用最近的Chromium。

2 个答案:

答案 0 :(得分:2)

我认为您的问题出在其他地方,无视您所提出的明显错误SetTimeout错误(应该是setTimeout)。

您的代码中没有任何内容可以刷新页面。

修改

只是想到了一些事情,因为你提到了SetTimeout错误,也许你的点击处理程序没有完成,因此让链接“通过”并加载页面。

<强> EDIT2:

嗯,事实并非如此......

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

<强> EDIT3:

......也许是(x-something错误的小提琴) http://jsfiddle.net/eGhQM/9/

答案 1 :(得分:-1)

我不确定我是否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)