我有一个问题,我制作了一个执行setInterval
.
第一次调用该函数时它工作正常(每秒),但是当我多次调用它时,时间变得混乱,就好像它正在执行setInterval
之前调用的那些。
如何重置时间以使其始终工作到一秒?
function ejecutar_timer(){
var valor = 0;
clearInterval(timerId);
timerId = setInterval(function(){
valor = valor + 1;
}, 1000);
}
这个想法是您使用
setInterval
并保存它的 ID,以便以后您可以随时停止它clearInterval
。您可以使用全局变量来实现这一点。我给你一个使用两个按钮的例子:
请注意,在创建新计时器之前,我正在验证计时器之前没有运行:
false
并且每次执行该功能时我都会重置计时器detenerTimer
SetInterval 每隔 x 毫秒执行一次函数,它应该只执行一次,只执行一次或递归使用它是 setTimeout。然后认为变量值在run_timer函数内部,无法从外部访问。