ClearInterval()和SetInterval()

时间:2012-05-10 04:21:24

标签: javascript

因此,在我的javascript代码中,如果用户点击复选框,我需要更改setInterval()使用的时间延迟。目前,我在复选框上使用了onchange处理程序。每当更改复选框时,我都会调用clearInterval()setInterval()。我将interval id作为全局变量。现在,如果用户在我调用clearInterval()之前更改了复选框,我预计会出现一些问题,但什么也没发生。有没有更好的方法来做到这一点还是这种方式被认为是标准的?有没有办法检查是否存在interval

PS。 我是Javascript的新手,大约5小时前就开始了。

1 个答案:

答案 0 :(得分:2)

这应该有效:

 var myInterval = setInterval(...);

 document.getElementById('myCheckbox').onchange = function()
 {
   var func = arguments.callee;
   if (func.busy) return;
   func.busy = true;
   clearInterval(myInterval);
   myInterval = setInterval(...);
   func.busy = false;
 }