js實現(xiàn)內(nèi)置計時器
計時器對于圖片輪播和倒計時之類的與時間相關(guān)的項目有著很大的聯(lián)系,它是實現(xiàn)這些的核心語法,如何一次深刻理解js計時器?往下看你就知道,有驚喜哦!
js計時器有兩種,一種為延時后單次的執(zhí)行,另一種為延時多次執(zhí)行。通過函數(shù)的遞歸,前者也可以打破壁壘,擁有循環(huán)執(zhí)行的功能。
setTimeout( javascript語句 , 毫秒);
(其中第一個值可以是一個函數(shù) 需要加" ",也可以是代碼)
//延遲一段時間 執(zhí)行 執(zhí)行一次
setInterval("javascript語句" , 毫秒);
(其中第一個值可以是一個函數(shù) 需要加" ",也可以是代碼)
//循環(huán)執(zhí)行
具體實例 (一些細(xì)節(jié)和具體的用法還是在案例代碼中便于理解)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>計時器</title>
</head>
<body>
<button id="none">停止計時器</button>
<button id="start">開始計時器</button>
<script>
// 有兩個計時器
// setTimeout();
// 延遲一段時間 執(zhí)行 執(zhí)行一次
// setInterval();
// 循環(huán)執(zhí)行
var stoptime=document.getElementById('none');//默認(rèn)從零開始自加 獲取開始按鈕
var starttime=document.getElementById('start');//獲取停止按鈕
var count=0;
var timecount;
// 第一種
/*showtime();
function showtime(){
count++;
console.log(count);
timecount=setTimeout('showtime()',1000);//延時一秒
}//利用遞歸來實現(xiàn)循環(huán)時間
stoptime.onclick=function(){//停止計時器
clearTimeout(timecount);//將計時器清除,即停止自加
}
starttime.onclick=function(){//開始計時器
timecount=setTimeout('showtime()',1000);//繼續(xù)開始自加
}*/
//優(yōu)點(diǎn):重啟計時器簡單,由于是原本是單次執(zhí)行,只需將之前的遞歸函數(shù)重新復(fù)制即可 缺點(diǎn):需要遞歸調(diào)用
// 第二種
showtime();
function showtime(){//封裝函數(shù)
timecount=setInterval(function(){
count++;
console.log(count);
},1000)
}
stoptime.onclick=function(){
clearInterval(timecount);
}
starttime.onclick=function(){
showtime();
}
//優(yōu)點(diǎn):不需要遞歸調(diào)用,直接實現(xiàn)循環(huán)。缺點(diǎn):重啟較復(fù)雜,需要調(diào)用所有函數(shù),建議封裝函數(shù)。
</script>
</body>
</html>
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
js實現(xiàn)div模擬模態(tài)對話框展現(xiàn)URL內(nèi)容
這篇文章主要介紹了js實現(xiàn)div模擬模態(tài)對話框展現(xiàn)URL內(nèi)容的功能,涉及javascript動態(tài)操作頁面元素樣式與ajax調(diào)用的相關(guān)技巧,需要的朋友可以參考下2016-05-05
JavaScript實現(xiàn)電商平臺商品細(xì)節(jié)圖
這篇文章主要為大家詳細(xì)介紹了JavaScript實現(xiàn)電商平臺商品細(xì)節(jié)圖,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-06-06
JS中的回調(diào)函數(shù)(callback)講解
回調(diào)函數(shù)是一段可執(zhí)行的代碼段,它作為一個參數(shù)傳遞給其他的代碼,其作用是在需要的時候方便調(diào)用這段(回調(diào)函數(shù))代碼,這篇文章主要介紹了JS中的?回調(diào)函數(shù)(callback),需要的朋友可以參考下2022-12-12
JavaScript中new操作符的原理與實現(xiàn)詳解
你知道new嗎?你知道new的實現(xiàn)原理嗎?你能手寫new方法嗎?不要擔(dān)心,這篇文件就來帶大家深入了解一下JavaScript中的new操作符,感興趣的小伙伴可以學(xué)習(xí)一下2022-10-10
微信小程序wxss如何引用外部CSS文件以及iconfont
這篇文章主要給大家介紹了關(guān)于微信小程序wxss如何引用外部CSS文件以及iconfont的相關(guān)資料,文中通過圖文介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03

