如何清除这个setInterval?

时间:2017-02-13 22:04:17

标签: javascript

start.on('click', function(){
  setInterval(time, 1000);

  object.animate({ marginTop: '500px' }, 3000, function () {
    normaal.fadeIn(700);
  });
});


function time() {
  change.textContent = Number(change.textContent) + 50;
}

我是多么可以停止(清除)这个setInterval。我希望它在调用偶数后3000毫秒后自动启动。

3 个答案:

答案 0 :(得分:2)

您可以使用clearInterval方法。

var intervalID = setInterval(time, 1000);

  

setInterval的返回值是一个非零的数值   标识通过调用setInterval()创建的计时器;这个价值   可以传递给WindowOrWorkerGlobalScope.clearInterval()来取消   超时。

然后转到clearInterval,传递intervalID,如clearInterval(intervalID);

此外,setInterval重复调用回调 ,如果您只需执行一次代码块,则使用 setTimeout

答案 1 :(得分:1)

setInterval一直在反复调用该方法。你想要的是使用setTimeout代替,它会在等待指定的时间段后调用该方法一次(并且只调用一次)。如果您想阻止执行clearTimeout调用,可以使用setTimeout

setTimeout(time, 3000);

答案 2 :(得分:-1)



var interval;

start.on('click', function () {
  interval = setInterval(time, 1000);

  object.animate({ marginTop:'500px' }, 3000, function () {
    normaal.fadeIn(700);
  });
});


function time() {
  change.textContent = Number(change.textContent) + 50;
}

function stop() {
  clearInterval(interval);
}