清除间隔(如果有),然后设置新间隔

时间:2018-06-29 15:03:27

标签: javascript jquery

我正在尝试清除一个已设置的间隔,此后,我需要设置一个新间隔。这是我的代码:

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);
}

间隔设置几次,这意味着具有相同名称的旧间隔不会被清除。我该如何解决?

注意:,当我尝试清除间隔时,可能未设置间隔。

1 个答案:

答案 0 :(得分:0)

问题可能是您在错误的位置定义了errorInterval1。如果您的代码就是所有存在的代码,请按以下步骤操作:

  • 步骤1 :将errorInterval1设置为undefined

  • 第2步:开始执行...,进入clearInterval,它仍然是undefined

  • 第3步:启动计时器并将其保存到errorInterval1

  • 步骤4 :下次忘记所有内容,然后返回步骤1

相反,在持久性范围内的其他地方声明errorInterval1(将其设置为全局变量)。