连续每 5 秒调用一次 Javascript 函数
IT技术
javascript
dom-events
2021-03-05 10:47:25
5个回答
您可以使用setInterval()
,参数是相同的。
const interval = setInterval(function() {
// method to be executed;
}, 5000);
clearInterval(interval); // thanks @Luca D'Amico
setTimeout
对您的函数进行“递归” ,它将在定义的每个时间段内继续执行:
function yourFunction(){
// do whatever you like here
setTimeout(yourFunction, 5000);
}
yourFunction();
作为最佳的编码实践表明,使用setTimeout
代替setInterval
。
function foo() {
// your function code here
setTimeout(foo, 5000);
}
foo();
请注意,这不是递归函数。该函数在结束之前不会调用自身,而是调用一个setTimeout
稍后将再次调用相同函数的函数。
为了在将来重复操作setInterval
,您可以使用内置函数代替setTimeout
。
它有一个类似的签名,所以从一个到另一个的转换很简单:
setInterval(function() {
// do stuff
}, duration);
好的工作示例:http : //jsfiddle.net/MrTest/t4NXD/62/
加:
- 有很好的
fade in / fade out
动画 - 将暂停
:hover
- 将阻止运行多个动作(在开始第二个之前完成运行动画)
- 将防止在选项卡中损坏(浏览器停止选项卡中的脚本)
测试和工作!