JavaScript定時(shí)器設(shè)置、使用與倒計(jì)時(shí)案例詳解
本文實(shí)例講述了JavaScript定時(shí)器設(shè)置、使用與倒計(jì)時(shí)案例。分享給大家供大家參考,具體如下:
1、設(shè)置定時(shí)器
定時(shí)器,適用于定時(shí)執(zhí)行的任務(wù)中。在BOM的window對(duì)象中,有這樣的兩個(gè)函數(shù)是用于設(shè)置定時(shí)器
setTimeout(function,delay);//設(shè)置延時(shí)多少毫秒執(zhí)行該函數(shù),只執(zhí)行一次,返回值是一個(gè)id setInterval(function,delay);//設(shè)置間隔多少毫米一直執(zhí)行該函數(shù),執(zhí)行多次,返回值是一個(gè)id
兩者的區(qū)別就在于setTimeout方式只執(zhí)行一次,而setInterval理論可以執(zhí)行無(wú)數(shù)次,直到其被取消。
2、取消定時(shí)器
上面說過,在開啟定時(shí)器會(huì)返回一個(gè)id,這個(gè)id是用來區(qū)別開啟的多個(gè)定時(shí)器。當(dāng)我們要取消定時(shí)器時(shí),可以使用一下這兩個(gè)方法。
clearTimeout(id);//取消由setTimeout方式開啟的定時(shí)器 clearInterval(id);//取消由setInterval方式開啟的定時(shí)器
3、循環(huán)調(diào)用setTimeout
在使用中,可以用setTimeout方式來實(shí)現(xiàn)setInterval的效果,其實(shí)這個(gè)讓我想起了當(dāng)初學(xué)Android是的Handler機(jī)制,發(fā)一個(gè)延時(shí)消息,然后在內(nèi)容中再發(fā)出消息。例如:
<script> var t = 1; function time(){ console.log(t++); window.setTimeout('time()',1000); } window.setTimeout('time()',1000); </script>
4、倒計(jì)時(shí)案例
在頁(yè)面上有一個(gè)按鈕,顯示的是倒計(jì)時(shí)的數(shù)字,每隔一秒修改數(shù)字,等到0秒時(shí),就切換爆炸圖片。
效果圖
代碼
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title></title> <link rel="stylesheet" href=""> </head> <body> <h1>炸彈效果</h1> <input type="button" value="5" /><br/> <img src="warn.jpg"/> </body> <script> //定時(shí)執(zhí)行 function time(){ var input = document.getElementsByTagName('input')[0];//獲取按鈕中的數(shù)字 var time = parseInt(input.value) - 1; input.value = time; //爆炸操作 if(time <= 0){ var img = document.getElementsByTagName('img')[0]; img.src = 'boom.jpg';//切換爆照?qǐng)D片 clearInterval(t1);//清除定時(shí)器 } } var t1 = window.setInterval('time()',1000);//開啟定時(shí)器 </script> </html>
思路
其實(shí)這個(gè)例子挺簡(jiǎn)單的,首先以每隔1秒開啟定時(shí)器,在定時(shí)執(zhí)行函數(shù)中每次獲取當(dāng)前倒計(jì)時(shí)的數(shù)字,然后進(jìn)行減1操作,最后又賦值到按鈕中,當(dāng)數(shù)字小于或等于0秒時(shí),就切換爆炸圖片已達(dá)到爆炸效果,此時(shí)不要忘記取消定時(shí)器了。
更多關(guān)于JavaScript相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《JavaScript時(shí)間與日期操作技巧總結(jié)》、《JavaScript查找算法技巧總結(jié)》、《JavaScript錯(cuò)誤與調(diào)試技巧總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》及《JavaScript數(shù)學(xué)運(yùn)算用法總結(jié)》
希望本文所述對(duì)大家JavaScript程序設(shè)計(jì)有所幫助。
- 用JS寫了一個(gè)30分鐘倒計(jì)時(shí)器的實(shí)現(xiàn)示例
- js實(shí)現(xiàn)倒計(jì)時(shí)器自定義時(shí)間和暫停
- JS基于面向?qū)ο髮?shí)現(xiàn)的多個(gè)倒計(jì)時(shí)器功能示例
- JavaScript分秒倒計(jì)時(shí)器實(shí)現(xiàn)方法
- VB倒計(jì)時(shí)器和JS當(dāng)前時(shí)間
- js定時(shí)器實(shí)現(xiàn)倒計(jì)時(shí)效果
- js 倒計(jì)時(shí)(高效率服務(wù)器時(shí)間同步)
- js實(shí)現(xiàn)瀏覽器倒計(jì)時(shí)跳轉(zhuǎn)頁(yè)面效果
- javascript同步服務(wù)器時(shí)間和同步倒計(jì)時(shí)小技巧
- JS實(shí)現(xiàn)簡(jiǎn)單網(wǎng)頁(yè)倒計(jì)時(shí)器
相關(guān)文章
javascript數(shù)據(jù)類型中的一些小知識(shí)點(diǎn)(推薦)
這篇文章主要介紹了javascript數(shù)據(jù)類型中的一些小知識(shí)點(diǎn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04JavaScript對(duì)Cookie進(jìn)行讀寫操作實(shí)例
這篇文章主要介紹了JavaScript對(duì)Cookie進(jìn)行讀寫操作的方法,實(shí)例分析了javascript針對(duì)cookie的讀寫操作技巧,非常簡(jiǎn)單實(shí)用,需要的朋友可以參考下2015-07-07詳解微信小程序input標(biāo)簽正則初體驗(yàn)
這篇文章主要介紹了詳解微信小程序input標(biāo)簽正則初體驗(yàn),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-08-08Javascript 5種方法實(shí)現(xiàn)過濾刪除前后所有空格
這篇文章主要介紹Javascript 5種過濾刪除前后所有空格的方法,比較實(shí)用,需要的朋友可以參考下。2016-06-06JavaScript mixin實(shí)現(xiàn)多繼承的方法詳解
這篇文章主要介紹了JavaScript mixin實(shí)現(xiàn)多繼承的方法,結(jié)合實(shí)例形式分析了mixin多繼承的原理與具體實(shí)現(xiàn)技巧,需要的朋友可以參考下2017-03-03javascript對(duì)JSON數(shù)據(jù)排序的3個(gè)例子
這篇文章主要介紹了javascript對(duì)JSON數(shù)據(jù)排序的3個(gè)例子的相關(guān)資料2014-04-04javascritp添加url參數(shù)將參數(shù)加入到url中
javascritp添加url參數(shù)方法,將參數(shù)加入到url中,如果原來url中有則覆蓋,下面是示例代碼,感興趣的朋友可以參考下2014-09-09