连续每5秒调用一次javascript函数

时间:2011-08-25 09:40:18

标签: javascript javascript-events

  

可能重复:
  Calling a function every 60 seconds

连续每5秒调用一次javascript函数。 我见过setTimeOut事件。如果我不断想要它会工作得很好吗?

5 个答案:

答案 0 :(得分:154)

您可以使用setInterval(),参数相同。

setInterval(function() {
  // method to be executed;
}, 5000);

答案 1 :(得分:73)

执行你的函数的“递归”setTimeout,它会在定义的每个时间内继续执行:

function yourFunction(){
    // do whatever you like here

    setTimeout(yourFunction, 5000);
}

yourFunction();

答案 2 :(得分:23)

best coding practices所示,请使用setTimeout代替setInterval

function foo() {

    // your function code here

    setTimeout(foo, 5000);
}

foo();

请注意,这不是递归功能。该函数在结束之前没有调用自身,它正在调用setTimeout函数,稍后再次调用相同的函数。

答案 3 :(得分:16)

如果将来重复某项操作,您可以使用内置setInterval功能代替setTimeout
它有一个类似的签名,所以从一个到另一个的转换很简单:

setInterval(function() {
    // do stuff
}, duration);

答案 4 :(得分:4)

这里的好工作示例:http://jsfiddle.net/MrTest/t4NXD/62/

加:

  • 有很好的fade in / fade out动画
  • 会暂停:hover
  • 将阻止运行多个动作(在开始第二个之前完成运行动画)
  • 将防止在选项卡中出现故障(浏览器停止选项卡中的脚本)

经过测试和工作!