Javascript中setTimeOut和setInterval的定時器用法?
JavaScript 計時器
計時器類型:一次性計時器(setTimeout):僅在指定的延遲時間之后觸發一次。間隔性觸發計時器(setInterval):每隔一定的時間間隔就觸發一次。計時器方法:
一.計時器setInterval()
在執行時,從載入頁面后每隔指定的時間執行代碼。
語法:
setInterval(代碼,交互時間);
參數說明:
1. 代碼:要調用的函數或要執行的代碼串。
2. 交互時間:周期性執行或調用表達式之間的時間間隔,以毫秒計(1s=1000ms)。
返回值:
一個可以傳遞給 clearInterval() 從而取消對"代碼"的周期性執行的值。
調用函數格式(假設有一個clock()函數):
setInterval("clock()",1000)或setInterval(clock,1000)
我們設置一個計時器,每隔100毫秒調用clock()函數,并將時間顯示出來,代碼如下:
<!DOCTYPE HTML><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title>計時器</title><script type="text/javascript"> var int=setInterval(clock, 100) function clock(){ var time=new Date(); document.getElementById("clock").value = time; }</script></head><body> <form> <input type="text" id="clock" size="50" /> </form></body></html>
二.計時器setTimeout()
setTimeout()計時器,在載入后延遲指定時間后,去執行一次表達式,僅執行一次。
語法:
setTimeout(代碼,延遲時間);
參數說明:
1. 要調用的函數或要執行的代碼串。2. 延時時間:在執行代碼前需等待的時間,以毫秒為單位(1s=1000ms)。
當我們打開網頁3秒后,在彈出一個提示框,代碼如下:
<!DOCTYPE HTML><html><head><script type="text/javascript"> setTimeout("alert('Hello!')", 3000 );</script></head><body></body></html>
當按鈕start被點擊時,setTimeout()調用函數,在5秒后彈出一個提示框。
<!DOCTYPE HTML><html><head><script type="text/javascript">function tinfo(){ var t=setTimeout("alert('Hello!')",5000); }</script></head><body><form> <input type="button" value="start" onClick="tinfo()"></form></body></html>
要創建一個運行于無窮循環中的計數器,我們需要編寫一個函數來調用其自身。在下面的代碼,當按鈕被點擊后,輸入域便從0開始計數。
<!DOCTYPE HTML><html><head><script type="text/javascript">var num=0;function numCount(){ document.getElementById('txt').value=num; num=num+1; setTimeout("numCount()",1000); }</script></head><body><form><input type="text" id="txt" /><input type="button" value="Start" onClick="numCount()" /></form></body></html>