一連の関数を設定する関数があり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;
}
}