因此,在我的javascript代码中,如果用户点击复选框,我需要更改setInterval()
使用的时间延迟。目前,我在复选框上使用了onchange
处理程序。每当更改复选框时,我都会调用clearInterval()
和setInterval()
。我将interval id作为全局变量。现在,如果用户在我调用clearInterval()
之前更改了复选框,我预计会出现一些问题,但什么也没发生。有没有更好的方法来做到这一点还是这种方式被认为是标准的?有没有办法检查是否存在interval
?
PS。 我是Javascript的新手,大约5小时前就开始了。
答案 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;
}