使用setInterval 和clearInterval 控制循環定時器
在程式碼中,您的目標是在按下特定鍵時呼叫一次drawAll( )。然而,setInterval函數建立了一個重複呼叫drawAll()的循環計時器。為了解決這個問題,我們可以使用clearInterval來停止定時器迴圈的執行。
setInterval建立一個循環計時器並傳回一個句柄。此句柄用作可由clearInterval 使用的識別碼來阻止定時器觸發。它的工作原理如下:
var handle = setInterval(drawAll, 20); // When you want to cancel it: clearInterval(handle); handle = 0; // This marks the interval as cleared
在瀏覽器上,句柄保證為非零數字。因此,使用 0 作為句柄值表示沒有設定計時器。
要安排函數只觸發一次,可以使用 setTimeout 而不是 setInterval。 setTimeout 在指定的延遲後執行一次函數。它會傳回一個句柄,可以與clearTimeout一起使用,以在必要時在執行之前取消函數呼叫:
setTimeout(drawAll, 20);
以上是如何使用「setInterval」和「clearInterval」在 JavaScript 中控制重複計時器?的詳細內容。更多資訊請關注PHP中文網其他相關文章!