我的间隔设置如下:
var inte = setInterval(function(){
clearInterval(inte);
},1000);
有没有办法可以这样做呢?
setInterval(function(){
clearInterval(this);
},1000);
答案 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)?那么你就不需要清除一个间隔因为这只会被执行一次。