ページのロード時に開始されるsetTimeout関数を中断しようとしています。私がここでやっていることは、ボタンをクリックすると、フラグの値をtrueにして、setTimeoutが壊れていて、ここでは起こっていないということです。 このsetTimeout関数は、各ループの内部にあります。以下は私のコードです。foreachループ内でsetTimeout関数を中断する
rData[0].dt.forEach(function(d, i) {
setTimeout(function() {
if(flag === "false"){
console.log(flag);
reserRadius(i); //here I am changing radius of circle
}else{
console.log(flag);
clearTimeout();
return;
}
}, i * 2000);
});
を 'clearTimeout'は、idがsetTimeout''から返された期待していますが、それは意味がありません持っている場合は、時間によって関数が評価されるため、タイムアウトが既にあります完了し、 'clearTimeout'を呼び出す理由はありません –
あなたのコードで何をしたいのかははっきりしていません。実行されたときにすでに削除されているため、 'timeout'を自分自身の内部で削除することはできません。あなたの質問に[JSFiddle](https://jsfiddle.net/)スニペットを投稿すると便利です。 –
私は、このsetTimeout関数内で実行されているアニメーションコードを持っています。特定の地域に移動するとこのアニメーションが止まるようにしたいので、ボタンの助けを借りて停止させようとしています。 – shanky