定時(shí)器在js中的應(yīng)用非常廣泛,比如首頁的輪播圖效果,網(wǎng)頁的時(shí)鐘,秒殺倒計(jì)時(shí)等,都是采用定時(shí)器來實(shí)現(xiàn)的。
公司主營業(yè)務(wù):成都網(wǎng)站制作、成都網(wǎng)站建設(shè)、外貿(mào)營銷網(wǎng)站建設(shè)、移動(dòng)網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。創(chuàng)新互聯(lián)是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對(duì)我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯(lián)推出淇縣免費(fèi)做網(wǎng)站回饋大家。
主要提供了兩種定時(shí)器:
script type="text/javascript"
//一次性
window.setTimeout(function () {
alert(1);
},1000)
//周期性
window.setInterval(function () {
alert(2);
},1000)
/script
//試試這個(gè)吧
!DOCTYPE?html
html?lang="en"
head
meta?charset="UTF-8"
titleDocument/title
/head
body
div?id="time"/div
script
!--???
var?maxtime?=?60*60?//一個(gè)小時(shí),按秒計(jì)算,自己調(diào)整!
function?CountDown(){
if(maxtime=0){
minutes?=?Math.floor(maxtime/60);
seconds?=?Math.floor(maxtime%60);
minutes?=?minutes=10?minutes:'0'+minutes;
seconds?=?seconds=10?seconds:'0'+seconds;
msg?=?"距離結(jié)束還有"+minutes+"分"+seconds+"秒";
document.all["time"].innerHTML=msg;
if(maxtime?==?5*60)?alert('注意,還有5分鐘!');
--maxtime;
}else{
clearInterval(timer);
alert("時(shí)間到,結(jié)束!");
}
}
timer?=?setInterval("CountDown()",1000);
//--
/script
/body
/html
//?html
div當(dāng)前時(shí)間為:span?id="timeNow"/span?/div
button?id="timeBegin"計(jì)時(shí)開始/button
button?id="timeEnd"計(jì)時(shí)結(jié)束/button
button?id="timeClear"計(jì)時(shí)清除/button
//?Javascript
script?type="text/javascript"
//定義初始值?計(jì)時(shí)器
var?count?=?0;
var?timer?=?"";
//開始計(jì)時(shí)
function?BeginTime(){
var?beginBtn?=?document.getElementById("timeBegin");
beginBtn.onclick?=?function(){
timer?=?setInterval(function(){
count?++?;
document.getElementById("timeNow").innerHTML?=?count?/?100;
},10)
}
}
//結(jié)束計(jì)時(shí)
function?EndTime(){
var?endBtn?=?document.getElementById("timeEnd");
endBtn.onclick?=?function(){
clearInterval(timer);
}
}
//計(jì)時(shí)清除
function?ClearTime(){
var?clearBtn?=?document.getElementById("timeClear");
clearBtn.onclick?=?function(){
document.getElementById("timeNow").innerHTML?=?"";
}
}
BeginTime();
EndTime();
ClearTime();
/script
//??The?Harder?You?Work,?The?Luckier?You?Will?Be.?(Jensonhui.com)
settimeout在load之后便開始計(jì)時(shí)10秒后執(zhí)行一個(gè)方法
settimeout(fun,time);參數(shù)只能為函數(shù)而不是一個(gè)表達(dá)式
如果參數(shù)為表達(dá)式則直接運(yùn)行而不會(huì)計(jì)時(shí)后運(yùn)行
如:settimeout(alert("test"),5000)等價(jià)于alert("test")
如有疑惑歡迎追問
你這相當(dāng)于給內(nèi)層的定時(shí)器搞了個(gè)死循環(huán),每1秒就會(huì)創(chuàng)建一個(gè)定時(shí)器,6秒過去就表示已經(jīng)創(chuàng)建6個(gè)定時(shí)器了,每個(gè)定時(shí)器的開始時(shí)間相差1秒,當(dāng)然6秒后就會(huì)每秒彈出一次啦,12秒后每秒會(huì)彈出兩次,以此類推……你這樣持續(xù)運(yùn)行下去會(huì)創(chuàng)建無數(shù)個(gè)定時(shí)器,那時(shí)候每秒估計(jì)會(huì)彈出很多很多hello~然后電腦估計(jì)要炸了~~如果問題解決了,記得采納哦~~
參考下面代碼:
script type="text/javascript"
function getRTime(){
var EndTime= new Date('%=datas%'); //datas是數(shù)據(jù)庫的時(shí)間
var NowTime = new Date();
var t =EndTime.getTime() - NowTime.getTime();
if(t=0){
var d=Math.floor(t/1000/60/60/24);
var h=Math.floor(t/1000/60/60%24);
var m=Math.floor(t/1000/60%60);
var s=Math.floor(t/1000%60);
document.getElementById("t_d").innerHTML = d;
document.getElementById("t_h").innerHTML = h;
document.getElementById("t_m").innerHTML = m;
document.getElementById("t_s").innerHTML = s;
}
}
setInterval(getRTime,1000);
/script