文章目錄
- 文法
- 執行個體
- 執行個體 - 無窮迴圈
- 文法
- 執行個體
通過使用 JavaScript,我們有能力做到在一個設定的時間間隔之後來執行代碼,而不是在函數被調用後立即執行。我們稱之為計時事件。
執行個體
-
簡單的計時
-
單擊本例中的按鈕後,會在 5 秒後彈出一個警告框。
-
另一個簡單的計時
-
本例中的程式會執行 2 秒、4 秒和 6 秒的計時。
-
在一個無窮迴圈中的計時事件
-
在本例中,單擊開始計時按鈕後,程式開始從 0 以秒計時。
-
帶有停止按鈕的無窮迴圈中的計時事件
-
在本例中,點擊計數按鈕後根據使用者輸入的數值開始倒計時,點擊停止按鈕停止計時。
-
使用計時事件製作的鐘錶
-
一個 JavaScript 小時鐘
JavaScript 計時事件
通過使用 JavaScript,我們有能力作到在一個設定的時間間隔之後來執行代碼,而不是在函數被調用後立即執行。我們稱之為計時事件。
在 JavaScritp 中使用計時事件是很容易的,兩個關鍵方法是:
-
setTimeout()
-
未來的某時執行代碼
-
clearTimeout()
-
取消setTimeout()
setTimeout()文法
var t=setTimeout("javascript語句",毫秒)
setTimeout() 方法會返回某個值。在上面的語句中,值被儲存在名為 t 的變數中。假如你希望取消這個 setTimeout(),你可以使用這個變數名來指定它。
setTimeout() 的第一個參數是含有 JavaScript 語句的字串。這個語句可能諸如 "alert('5 seconds!')",或者對函數的調用,諸如 alertMsg()"。
第二個參數指示從當前起多少毫秒後執行第一個參數。
提示:1000 毫秒等於一秒。
執行個體
當下面這個例子中的按鈕被點擊時,一個提示框會在5秒中後彈出。
<html><head><script type="text/javascript">function timedMsg() { var t=setTimeout("alert('5 seconds!')",5000) }</script></head><body><form><input type="button" value="Display timed alertbox!" onClick="timedMsg()"></form></body></html>執行個體 - 無窮迴圈
要建立一個運行於無窮迴圈中的計時器,我們需要編寫一個函數來調用其自身。在下面的例子中,當按鈕被點擊後,輸入欄位便從 0 開始計數。
<html><head><script type="text/javascript">var c=0var tfunction timedCount() { document.getElementById('txt').value=c c=c+1 t=setTimeout("timedCount()",1000) }</script></head><body><form><input type="button" value="Start count!" onClick="timedCount()"><input type="text" id="txt"></form></body></html>clearTimeout()文法
clearTimeout(setTimeout_variable)
執行個體
下面的例子和上面的無窮迴圈的例子相似。唯一的不同是,現在我們添加了一個 "Stop Count!" 按鈕來停止這個計數器:
<html><head><script type="text/javascript">var c=0var tfunction timedCount() { document.getElementById('txt').value=c c=c+1 t=setTimeout("timedCount()",1000) }function stopCount() { clearTimeout(t) }</script></head><body><form><input type="button" value="Start count!" onClick="timedCount()"><input type="text" id="txt"><input type="button" value="Stop count!" onClick="stopCount()"></form></body></html>