js實(shí)現(xiàn)內(nèi)置計(jì)時(shí)器
計(jì)時(shí)器對(duì)于圖片輪播和倒計(jì)時(shí)之類的與時(shí)間相關(guān)的項(xiàng)目有著很大的聯(lián)系,它是實(shí)現(xiàn)這些的核心語(yǔ)法,如何一次深刻理解js計(jì)時(shí)器?往下看你就知道,有驚喜哦!
js計(jì)時(shí)器有兩種,一種為延時(shí)后單次的執(zhí)行,另一種為延時(shí)多次執(zhí)行。通過函數(shù)的遞歸,前者也可以打破壁壘,擁有循環(huán)執(zhí)行的功能。
setTimeout( javascript語(yǔ)句 , 毫秒);
(其中第一個(gè)值可以是一個(gè)函數(shù) 需要加" ",也可以是代碼)
//延遲一段時(shí)間 執(zhí)行 執(zhí)行一次
setInterval("javascript語(yǔ)句" , 毫秒);
(其中第一個(gè)值可以是一個(gè)函數(shù) 需要加" ",也可以是代碼)
//循環(huán)執(zhí)行
具體實(shí)例 (一些細(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>計(jì)時(shí)器</title>
</head>
<body>
<button id="none">停止計(jì)時(shí)器</button>
<button id="start">開始計(jì)時(shí)器</button>
<script>
// 有兩個(gè)計(jì)時(shí)器
// setTimeout();
// 延遲一段時(shí)間 執(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);//延時(shí)一秒
}//利用遞歸來實(shí)現(xiàn)循環(huán)時(shí)間
stoptime.onclick=function(){//停止計(jì)時(shí)器
clearTimeout(timecount);//將計(jì)時(shí)器清除,即停止自加
}
starttime.onclick=function(){//開始計(jì)時(shí)器
timecount=setTimeout('showtime()',1000);//繼續(xù)開始自加
}*/
//優(yōu)點(diǎn):重啟計(jì)時(shí)器簡(jiǎ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)用,直接實(shí)現(xiàn)循環(huán)。缺點(diǎn):重啟較復(fù)雜,需要調(diào)用所有函數(shù),建議封裝函數(shù)。
</script>
</body>
</html>
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
js實(shí)現(xiàn)3D圖片環(huán)展示效果
本文主要介紹了js實(shí)現(xiàn)3D圖片環(huán)展示效果的實(shí)例,具有很好的參考價(jià)值。下面跟著小編一起來看下吧2017-03-03
非常好用的JsonToString 方法 簡(jiǎn)單實(shí)例
這篇文章介紹了非常好用的JsonToString簡(jiǎn)單實(shí)例,有需要的朋友可以參考一下2013-07-07
js實(shí)現(xiàn)類似菜單風(fēng)格的TAB選項(xiàng)卡效果代碼
這篇文章主要介紹了js實(shí)現(xiàn)類似菜單風(fēng)格的TAB選項(xiàng)卡效果代碼,通過javascript鼠標(biāo)事件及頁(yè)面元素遍歷實(shí)現(xiàn)tab切換的功能,非常簡(jiǎn)單實(shí)用,需要的朋友可以參考下2015-08-08
js中使用replace方法完成某個(gè)字符的轉(zhuǎn)換
這篇文章主要介紹了js中使用replace方法完成某個(gè)字符的轉(zhuǎn)換,比較實(shí)用,需要的朋友可以參考下2014-08-08
JS字符串轉(zhuǎn)換為數(shù)組的4 個(gè)方法示例小結(jié)
這篇文章主要介紹了JS字符串轉(zhuǎn)換為數(shù)組的4 個(gè)方法示例小結(jié),本文通過示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2023-12-12
使用原生JS添加進(jìn)場(chǎng)和退場(chǎng)動(dòng)畫詳解
總所周知啊,身為一個(gè)合格的前端搬磚工,會(huì)編寫并且添加一些基礎(chǔ)的動(dòng)畫效果可謂是比較基礎(chǔ)且輕車熟路的技能了。本文將教大家如何使用原生JS添加進(jìn)場(chǎng)和退場(chǎng)動(dòng)畫,感興趣的可以了解一下2022-10-10

