SetInterval即使在我清除之后也会运行

时间:2016-07-21 06:20:09

标签: javascript jquery setinterval

我在使用setInterval修复问题时遇到了一些麻烦。

我有一个函数,当我点击我的网站上设置var pass = 1;

的元素时运行

如果你看color1();有一个设置间隔,当通过时清除自身> 0;所以如果pass = 1;然后它应该清除它,它确实,但只是在再次运行间隔之后。

所以它 - 运行setInterval,清除setInterval,然后运行setInterval中的其余代码。我需要的是,无需再次运行代码即可清除setInterval。

提前致谢

function color1() {
      var pass = 1;
      var counter = 2;
      var animationSpeed = 800;

      var $colorContent = '.color-container-1 .color-content-container'

      var colorInterval = setInterval(function() {

        if (pass > 0) {
          clearInterval(colorInterval);
        }

        $($colorContent).fadeOut(0);
        $(($colorContent + '-' + counter)).fadeIn(animationSpeed);
        ++counter

        if (counter === $($colorContent).length + 1) {
          counter = 1;
        }

      }, 3000);
    }

1 个答案:

答案 0 :(得分:1)

应该如下所示,你应该 self.returnFullName = function(item) { console.log("self.returnFullName called."); console.log(item); return item.firstName() + ' ' + item.lastName(); }; 这个功能。在这里你已经清除了间隔,但你还没有停止执行

return