我正在尝试清除一个已设置的间隔,此后,我需要设置一个新间隔。这是我的代码:
if (errorchannels.length != 0) {
clearInterval(errorInterval1);
var errorInterval1 = setInterval(function() {
for (var i = 0; i < errorchannels.length; i++) {
$('[errorid=' + errorchannels[i] + ']').closest('.channels').toggleClass('errorClass1');;
}
}, 500);
}
间隔设置几次,这意味着具有相同名称的旧间隔不会被清除。我该如何解决?
注意:,当我尝试清除间隔时,可能未设置间隔。
答案 0 :(得分:0)
问题可能是您在错误的位置定义了errorInterval1
。如果您的代码就是所有存在的代码,请按以下步骤操作:
步骤1 :将errorInterval1
设置为undefined
第2步:开始执行...,进入clearInterval
,它仍然是undefined
第3步:启动计时器并将其保存到errorInterval1
步骤4 :下次忘记所有内容,然后返回步骤1
相反,在持久性范围内的其他地方声明errorInterval1
(将其设置为全局变量)。