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

可能重复:
每60秒调用一个函数

每5秒连续调用一次javascript函数。 我已经看到了setTimeOut事件。 如果我不断需要它,它会工作正常吗?

你可以使用setInterval() ,参数是一样的。

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

做一个“recursion的” setTimeout你的函数,它会继续执行定义的每一个时间量:

 function yourFunction(){ // do whatever you like here setTimeout(yourFunction, 5000); } yourFunction(); 

根据最佳编码实践build议,使用setTimeout而不是setInterval

 function foo() { // your function code here setTimeout(foo, 5000); } foo(); 

请注意,这不是一个recursion函数。 该函数在结束之前不会自行调用,而是调用一个setTimeout函数,稍后再调用该函数。

为了在将来重复一个动作,可以使用内置的setInterval函数来代替setTimeout
它有一个类似的签名,所以从一个到另一个的过渡很简单:

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

很好的工作例子: http : //jsfiddle.net/MrTest/t4NXD/62/

加:

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

testing和工作!