在JavaScript中,透過給setTimeout()方法設定需要呼叫的函數或要執行的程式碼字串參數,和延遲的時間參數;在呼叫setTimeout()方法就可以設定一個簡單的計時器。
在JS中,提供了一些原生方法來實現在設定的時間間隔之後去執行某一段程式碼;setTimeout()方法設定的是一次計時器,是僅在指定的延遲時間之後觸發一次。下面我們就來看看setTimeout()方法如何設定定時器。
setTimeout()方法
setTimeout():設定一次定時器,在指定的毫秒數後呼叫函數或計算表達式;會在載入時延遲指定時間後,去執行一次表達式,僅執行一次。 【相關影片教學建議:JavaScript教學】
語法:
setInterval(code,millisec,lang);
參數說明:
code:必要的參數,表示需要呼叫的函數或要執行的程式碼串。
millisec:必須的參數,表示週期性執行或呼叫 「code參數」前的時間間隔,以毫秒為單位計時(1s=1000ms)。
lang 可選的參數。
setTimeout()方法的範例:
html程式碼:
<p>点击按钮,在等待 3 秒后弹出 "Hello"。</p> <button onclick="myFunction()">点我</button>
js程式碼:
function myFunction() { setTimeout(function(){alert("Hello")},3000); }
效果圖:
setTimeout()設定無限迴圈的計時器
使用setTimeout()方法也可以實現無限循環的定時器,我們需要寫一個函數來呼叫自身。此時setTimeout()方法會無限循環,如果想要停止計時器,就需要使用clearTimeout()方法。
clearTimeout()方法
clearTimeout():用來取消setTimeout()設定的計時器,在設定setTimeout()進行無限迴圈時使用。
語法:
clearTimeout(id_of_setTimeout);
參數說明:
id_of_setTimeout:表示由 setTimeout() 傳回的 ID 值。
附註:此值標識要取消的延遲呼叫的函數或延遲執行的程式碼字串;
#setTimeout()方法和clearTimeout()方法的聯合範例
<!DOCTYPE HTML> <html> <head> <script type="text/javascript"> var num=0,i; function timedCount(){ document.getElementById('txt').value=num; num=num+1; i=setTimeout(timedCount,1000); } setTimeout(timedCount,1000); function stopCount(){ clearTimeout(i); } </script> </head> <body> <form> <input type="text" id="txt"> <input type="button" value="Stop" onClick="stopCount()"> </form> </body> </html>
效果圖:
可以看出,一開始setTimeout()設定的定時器在無限循環,使得input框中的數字在不斷的增大,當按下Stop按鈕後,就會呼叫clearTimeout()方法,停止setTimeout()定時器,數字就停止增加,保持為數字11。
總結:以上就是這篇文章的全部內容,希望能對大家的學習有所幫助。
以上是JavaScript如何使用setTimeout()設定定時器的詳細內容。更多資訊請關注PHP中文網其他相關文章!