JavaScript 計時事件
JavaScript 計時事件
透過使用 JavaScript,我們有能力作到在一個設(shè)定的時間間隔之後來執(zhí)行程式碼,而不是在函數(shù)被呼叫後立即執(zhí)行。我們稱之為計時事件。
在 JavaScritp 中使用計時事件是很容易的,兩個關(guān)鍵方法是:
setInterval() - 間隔指定的毫秒數(shù)不停地執(zhí)行指定的程式碼。
setTimeout() - 暫停指定的毫秒數(shù)後執(zhí)行指定的程式碼
Note:?setInterval() 和 setTimeout() 是 HTML DOM Window物件的兩個方法。
setInterval() 方法
setInterval() 間隔指定的毫秒數(shù)不停地執(zhí)行指定的程式碼
語法
window.setInterval("javascript function",milliseconds);
window.setInterval()?方法可以不使用window前綴,直接使用函數(shù)setInterval()。
setInterval() 第一個參數(shù)是函數(shù)(function)。
第二個參數(shù)間隔的毫秒數(shù)
注意:?1000 毫秒是一秒。
每三秒彈出 "hello" :
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文網(wǎng)(php.cn)</title> </head> <body> <button onclick="myFunction()">點我</button> <script> function myFunction(){ setInterval(function(){alert("Hello")},3000); } </script> </body> </html>
如何停止執(zhí)行?
clearInterval() 方法用於停止 setInterval() 方法執(zhí)行的函數(shù)程式碼。
語法
window.clearInterval(intervalVariable)
window.clearInterval()?方法可以不使用window前綴,直接使用函數(shù)clearInterval()。
要使用 clearInterval() 方法, 在建立計時方法時你必須使用全域變數(shù):
myVar=setInterval("javascript function",milliseconds);
#然後你可以使用clearInterval() 方法來停止執(zhí)行。
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文網(wǎng)(php.cn)</title> <script> var t = self.setInterval("clock()",50) function clock() { var time=new Date() document.getElementById("clock_show").innerHTML=time } </script> </head> <body> <p id="clock_show"></p> <button onclick="window.clearInterval(t)">停止計時</button> </body> </html>
setTimeout() 方法
語法
window.setTimeout("javascript 函數(shù)",毫秒數(shù));
setTimeout() 方法會傳回某個值。在上面的語句中,值被儲存在名為 t 的變數(shù)中。假如你希望取消這個 setTimeout(),你可以使用這個變數(shù)名稱來指定它。
setTimeout() 的第一個參數(shù)是含有 JavaScript 語句的字串。這個語句可能諸如"alert('5 seconds!')",或者對函數(shù)的調(diào)用,諸如alertMsg()"。
第二個參數(shù)指示從當(dāng)前起多少毫秒後執(zhí)行第一個參數(shù)。
提示:1000 毫秒等於一秒。
語法window.clearTimeout(timeoutVariable)window.clearTimeout()?方法可以不使用window 前綴。在建立超時方法中(setTimeout)使用全域變數(shù):myVar=setTimeout("javascript function",milliseconds);如果函數(shù)還未被執(zhí)行,可以使用clearTimeout() 方法來停止執(zhí)行函數(shù)程式碼。