当前位置:  开发笔记 > 编程语言 > 正文

如何在javascript中设置计时器

如何解决《如何在javascript中设置计时器》经验,为你挑选了3个好方法。

我想运行以下代码:

ajaxUpdate(10);

每次迭代之间延迟1秒.我怎样才能做到这一点?



1> Kent Fredric..:
var i = window.setInterval( function(){ 
          ajaxUpdate(10); 
 }, 1000 ); 

这将每秒调用ajaxUpdate,直到它停止为止.

如果你想稍后停止它:

window.clearInterval( i ); 

如果你只希望运行一次,

var i = window.setTimeout( function(){ 
          ajaxUpdate(10); 
 }, 1000 ); 

会做的伎俩,如果你想在它运行一次之前阻止它运行

window.clearTimeout(i); 

"window"前缀不是严格的nessecary,但它是一个好主意,因为你永远不知道别人可能想要在可见范围内创建具有相同名称且行为不同的其他东西.

有关此的完整参考,我总是发现MDC非常有帮助:

MDC:window.setInterval

MDC:window.clearInterval

MDC:window.setTimeout

MDC:window.clearTimeout

另外,您可能希望阅读John Resig关于计时器的这篇文章,

ejohn.org:Javascript定时器如何工作



2> Raibaz..:

你也可以这样做

setTimeout(function() {ajaxUpdate(10)}, 1000);


我发现第二个答案(来自Kent Fredric)的方式更加完整和详细.它还提供了多种实现目标的方法.这个答案也很好,但它只是不完整而且对社区没那么有用,所以我个人建议你接受肯特的回答.

3> Greg..:

你可以用setInterval()它.创建要调用的匿名函数,并以毫秒为单位使用时间:

var myInterval = window.setInterval(function() { ajaxUpdate(10); }, 1000);

推荐阅读
云聪京初瑞子_617
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有