间隔内的clearInterval

时间:2014-04-10 21:39:24

标签: javascript setinterval clearinterval

我的间隔设置如下:

var inte = setInterval(function(){
        clearInterval(inte);
    },1000);

有没有办法可以这样做呢?

setInterval(function(){
        clearInterval(this);
    },1000);

3 个答案:

答案 0 :(得分:2)

我认为您需要将setInterval包裹在您自己的mySetInterval中,以跟踪可清除的ID:

function mySetInterval(f,t) {
  var x =
    setInterval(
      function() {
        f();
        clearInterval(x);
      },
      t 
    )
}

mySetInterval(function() { alert("foo"); }, 1000);

答案 1 :(得分:0)

由于您似乎只运行了一次,为什么不使用setTimeout

setTimeout(function(){
   // do your stuff here
}, 1000);

在这种情况下无需清除任何内容。

答案 2 :(得分:0)

将函数存储在变量中。然后你可以使用原生的.apply()函数来应用参数并设置函数' this'变量。谷歌应该知道关于.apply()的一些例子,但为什么不使用setTimeout(function(){},1000)?那么你就不需要清除一个间隔因为这只会被执行一次。