我想破解在頁面加載時啓動的setTimeout函數。所以我在這裏做的是,如果我點擊按鈕,然後我將flag值設置爲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'預計從'setTimeout'返回的ID,但如果你擁有了它沒有任何意義,因爲時間的函數被評爲超時已經完成,沒有理由調用'clearTimeout' –
目前還不清楚你確實想要你的代碼做什麼。你不能刪除自己內部的'timeout',因爲它在執行時已經被刪除了。在你的問題中發佈一個[JSFiddle](https://jsfiddle.net/)片段會很有用。 – 2016-08-11 20:04:10
我有這個setTimeout函數裏面運行的動畫代碼。如果我將鼠標懸停在特定區域上,我希望這個動畫停止,所以我正試圖在按鈕的幫助下停止它。 – shanky