Javascript clearInterval不会清除

时间:2013-11-20 04:56:27

标签: javascript

当我的_i等于= 10时,我试图clearInterval。

var intervalFunction = function(){
  setInterval(function(){
    chart.draw((_i++/10).toFixed(1));
    if(Math.round(_i) == 10){
      clearInterval(intervalFunction);
    }
  },100)
}
intervalFunction();

2 个答案:

答案 0 :(得分:4)

clearInterval()函数需要传递先前setInterval()次调用的返回值,即:

var iid = setInterval(function() {
    // do your stuff
    clearInterval(iid);
}, 100);

documentation中也提到了这一点:

  

取消使用setInterval设置的重复操作。

答案 1 :(得分:0)

传递给clearInterval的参数应该是从初始调用返回的值,而不是执行调用的函数

var _i = 0;

function intervalFunction() {
  var interval = setInterval(function(){
    chart.draw((_i++/10).toFixed(1));
    if(Math.round(_i) == 10){
      clearInterval(interval);
    }
  },100)
}