我正在嘗試創建一個自動更改的「旋轉」DIV。 我有一個函數switchRotator(id)使用JQuery來改變DIV的內容。 這裏是造成錯誤的函數:功能未定義錯誤
function launchTimedRotator(){
//timedSwitch is a boolean value that can be enabled/disabled with buttons
if (timedSwitch) {
if (counter<2) {
counter++;
} else {
counter = 1;
}
switchRotator(counter);
setInterval("launchTimedRotator()",3000);
return null;
}
};
正如你可以看到我試圖通過調用自身的功能到底使用遞歸。 我收到谷歌Chrome的開發者工具的錯誤是: 未捕獲的ReferenceError:launchTimedRotator事先不
你的函數不是全局的,如果你傳遞一個字符串,這是必需的。你可以做'setInterval(launchTimedRotator,3000);',但爲什麼遞歸?您將同時運行的間隔數量呈指數增長。 –
我在其中一個「旋轉器」上看到類似的概念後,我使用了遞歸。我會增加嗎?它只是調用自己,然後結束,功能不重複。或者我錯過了什麼? – slava
'setInterval()'每3秒連續運行一次該函數。所以當它再次調用函數時,它會啓動另一個'setInterval',但原始的仍在運行,所以現在你有兩個。然後再過3秒鐘,這兩個人會再次調用函數,再創建兩個,原來的兩個仍然在運行,四個,然後是八個,然後是十六個......等等。 –