實(shí)例講解JavaScript 計(jì)時(shí)事件
JavaScript 計(jì)時(shí)事件
通過使用 JavaScript,我們有能力做到在一個(gè)設(shè)定的時(shí)間間隔之后來執(zhí)行代碼,而不是在函數(shù)被調(diào)用后立即執(zhí)行。我們稱之為計(jì)時(shí)事件。
在 JavaScritp 中使用計(jì)時(shí)事件是很容易的,兩個(gè)關(guān)鍵方法是:
setInterval() - 間隔指定的毫秒數(shù)不停地執(zhí)行指定的代碼。 setTimeout() - 在指定的毫秒數(shù)后執(zhí)行指定代碼。注意: setInterval() 和 setTimeout() 是 HTML DOM Window對象的兩個(gè)方法。
setInterval() 方法
setInterval() 間隔指定的毫秒數(shù)不停地執(zhí)行指定的代碼
語法
window.setInterval('javascript function',milliseconds);
window.setInterval() 方法可以不使用 window 前綴,直接使用函數(shù) setInterval()。
setInterval() 第一個(gè)參數(shù)是函數(shù)(function)。
第二個(gè)參數(shù)間隔的毫秒數(shù)
注意: 1000 毫秒是一秒。
setInterval(function(){alert('Hello')},3000);
效果如下:
實(shí)例展示了如何使用 setInterval() 方法,但是每三秒彈出一次對用戶體驗(yàn)并不好。
以下實(shí)例將顯示當(dāng)前時(shí)間。 setInterval() 方法設(shè)置每秒鐘執(zhí)行一次代碼,就是手表一樣。
var myVar=setInterval(function(){myTimer()},1000); function myTimer(){ var d=new Date(); var t=d.toLocaleTimeString(); document.getElementById('demo').innerHTML=t;}
效果如下:
如何停止執(zhí)行?
clearInterval() 方法用于停止 setInterval() 方法執(zhí)行的函數(shù)代碼。
語法
window.clearInterval(intervalVariable)
window.clearInterval() 方法可以不使用window前綴,直接使用函數(shù)clearInterval()。
要使用 clearInterval() 方法, 在創(chuàng)建計(jì)時(shí)方法時(shí)你必須使用全局變量:
myVar=setInterval('javascript function',milliseconds);
然后你可以使用 clearInterval() 方法來停止執(zhí)行。
以下例子,我們添加了 '停止' 按鈕:
<p id='demo'></p><button onclick='myStopFunction()'>停止</button><script>var myVar=setInterval(function(){myTimer()},1000);function myTimer(){ var d=new Date(); var t=d.toLocaleTimeString(); document.getElementById('demo').innerHTML=t;}function myStopFunction(){ clearInterval(myVar);}</script>
效果如下:
setTimeout() 方法
語法
myVar= window.setTimeout('javascript function', milliseconds);
setTimeout() 方法會返回某個(gè)值。在上面的語句中,值被儲存在名為 myVar 的變量中。假如你希望取消這個(gè) setTimeout(),你可以使用這個(gè)變量名來指定它。
setTimeout() 的第一個(gè)參數(shù)是含有 JavaScript 語句的字符串。這個(gè)語句可能諸如 'alert(’5 seconds!’)',或者對函數(shù)的調(diào)用,諸如 alertMsg。
第二個(gè)參數(shù)指示從當(dāng)前起多少毫秒后執(zhí)行第一個(gè)參數(shù)。
提示:1000 毫秒等于一秒。
實(shí)例
等待3秒,然后彈出 'Hello':
setTimeout(function(){alert('Hello')},3000);
效果如下:
如何停止執(zhí)行?
clearTimeout() 方法用于停止執(zhí)行setTimeout()方法的函數(shù)代碼。
語法
window.clearTimeout(timeoutVariable)
window.clearTimeout() 方法可以不使用window 前綴。
要使用clearTimeout() 方法, 你必須在創(chuàng)建超時(shí)方法中(setTimeout)使用全局變量:
myVar=setTimeout('javascript function',milliseconds);
如果函數(shù)還未被執(zhí)行,你可以使用 clearTimeout() 方法來停止執(zhí)行函數(shù)代碼。
實(shí)例
以下是同一個(gè)實(shí)例, 但是添加了 'Stop the alert' 按鈕:
var myVar; function myFunction(){ myVar=setTimeout(function(){alert('Hello')},3000);} function myStopFunction(){ clearTimeout(myVar);}
效果如下:
以上就是實(shí)例講解JavaScript 計(jì)時(shí)事件的詳細(xì)內(nèi)容,更多關(guān)于JavaScript 計(jì)時(shí)事件的資料請關(guān)注好吧啦網(wǎng)其它相關(guān)文章!
相關(guān)文章:
1. 如何通過eclipse web項(xiàng)目導(dǎo)入itellij idea并啟動2. jsp實(shí)現(xiàn)登錄界面3. PHP未來的一些可能4. IDEA 端口占用的解決方法(推薦)5. 刪除docker里建立容器的操作方法6. 關(guān)于在IDEA中SpringBoot項(xiàng)目中activiti工作流的使用詳解7. 使用vue寫一個(gè)翻頁的時(shí)間插件實(shí)例代碼8. python 服務(wù)器運(yùn)行代碼報(bào)錯(cuò)ModuleNotFoundError的解決辦法9. 使用IDEA編寫jsp時(shí)EL表達(dá)式不起作用的問題及解決方法10. 將Git存儲庫克隆到本地IntelliJ IDEA項(xiàng)目中的詳細(xì)教程
