使用 setInterval 和clearInterval 控制循环定时器
在代码中,您的目标是在按下特定键时调用一次drawAll()。然而,setInterval函数建立了一个重复调用drawAll()的循环定时器。为了解决这个问题,我们可以使用clearInterval来停止定时器循环的执行。
setInterval创建一个循环定时器并返回一个句柄。该句柄用作可由clearInterval 使用的标识符来阻止定时器触发。它的工作原理如下:
var handle = setInterval(drawAll, 20); // When you want to cancel it: clearInterval(handle); handle = 0; // This marks the interval as cleared
在浏览器上,句柄保证为非零数字。因此,使用 0 作为句柄值表示没有设置计时器。
要安排函数仅触发一次,可以使用 setTimeout 而不是 setInterval。 setTimeout 在指定的延迟后执行一次函数。它返回一个句柄,可以与clearTimeout一起使用,以在必要时在执行之前取消函数调用:
setTimeout(drawAll, 20);
以上是如何使用'setInterval”和'clearInterval”在 JavaScript 中控制重复计时器?的详细内容。更多信息请关注PHP中文网其他相关文章!