我有一个设置一堆功能的setTimeout
功能。所有函数都添加到 Array funcs
;然而,当我尝试使用stopplay().clearTimeout
数组来阻止它们时,没有值。
如何访问这些功能以及clearTimeout
它们?
var funcs = new Array();
function playWithDelay(){
for (var i = 0; i < PlayDatesArray.length; i++) {
funcs[i] = createfunc(i);
}
for (var j = 0; j < PlayDatesArray.length; j++) {
funcs[j]();
}
}
function createfunc(i) {
return function() {
setTimeout(function(){
//my function
}, i*1500);
};
}
function stopplay(){
alert(this.funcs.count);
for (var i = 0; i< funcs.count; i++){
//things I tried
var tmpFunction = funcs[i];
//funcs[i].splice(i, 1);
clearTimeout(tmpFunction);
clearTimeout(funcs[i]);
funcs[i]=tmpFunction;
}
}