js實(shí)現(xiàn)精確到秒的倒計(jì)時(shí)效果
本文實(shí)例為大家分享了兩種倒計(jì)時(shí)效果,供大家參考,具體內(nèi)容如下
效果圖:

1.倒計(jì)時(shí)效果
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<title>倒計(jì)時(shí)</title>
<link rel="stylesheet" href="css/common.css" type="text/css" charset="utf-8"/>
<style type="text/css">
*{ margin:0; padding:0;}
.dtime{ margin:10px;}
.dtime span{ color:#C30;}
</style>
</head>
<body>
<div class="dtime" id="a1"></div>
<div class="dtime" id="a2"></div>
<div class="dtime" id="a3"></div>
<div class="dtime" id="a4"></div>
<div class="dtime" id="a5"></div>
</body>
<script>
function tbdTimeCountdown(args){//倒計(jì)時(shí)函數(shù)
var ele=document.getElementById(args.id);
var alltime=args.alltime;
var arr=[];
var t=Math.floor(alltime/(24*60*60));
var yt=alltime%(24*60*60);
var s=Math.floor(yt/(60*60));
var ys=yt%(60*60);
var f=Math.floor(ys/(60));
var yf=ys%(60);
var m=yf;
arr[0]=[t,"天"];
arr[1]=[s,"小時(shí)"];
arr[2]=[f,"分"];
arr[3]=[m,"秒結(jié)束"];
var s=ce(arr,0);
ele.innerHTML=s;
var dong;
dong=setInterval(function(){
alltime-=1;
if(alltime<=0){
clearInterval(dong);
ele.innerHTML="<span>0</span>秒";
args.end();
}else{
t=Math.floor(alltime/(24*60*60));
yt=alltime%(24*60*60);
s=Math.floor(yt/(60*60));
ys=yt%(60*60);
f=Math.floor(ys/(60));
yf=ys%(60);
m=yf;
arr[0]=[t,"天"];
arr[1]=[s,"小時(shí)"];
arr[2]=[f,"分"];
arr[3]=[m,"秒結(jié)束"];
var s=ce(arr,0);
ele.innerHTML=s;
};
},1000);
function ce(arr,sta){
var i=sta;
if(i<arr.length){
if(arr[i][0]!=0){
var s="";
for(var j=i;j<arr.length;j++){
s+="<span>"+arr[j][0]+"</span>"+arr[j][1];
};
return s;
}else{
return ce(arr,i+1);
};
};
};
};//倒計(jì)時(shí)end
//效果1
//86402 3602 62
tbdTimeCountdown({id:"a1",//含有倒計(jì)時(shí)容器
alltime:3,//倒計(jì)時(shí)總秒數(shù)
end:function(){//倒計(jì)時(shí)結(jié)束,時(shí)間為0是調(diào)用的函數(shù)
//alert("倒計(jì)時(shí)結(jié)束才會(huì)執(zhí)行!");
},
});
//效果2
tbdTimeCountdown({id:"a2",//含有倒計(jì)時(shí)容器
alltime:62,//倒計(jì)時(shí)總秒數(shù)
end:function(){//倒計(jì)時(shí)結(jié)束,時(shí)間為0是調(diào)用的函數(shù)
},
});
//效果3
tbdTimeCountdown({id:"a3",//含有倒計(jì)時(shí)容器
alltime:3602,//倒計(jì)時(shí)總秒數(shù)
end:function(){//倒計(jì)時(shí)結(jié)束,時(shí)間為0是調(diào)用的函數(shù)
},
});
//效果4
tbdTimeCountdown({id:"a4",//含有倒計(jì)時(shí)容器
alltime:86402,//倒計(jì)時(shí)總秒數(shù)
end:function(){//倒計(jì)時(shí)結(jié)束,時(shí)間為0是調(diào)用的函數(shù)
},
});
//效果4
tbdTimeCountdown({id:"a5",//含有倒計(jì)時(shí)容器
alltime:154789,//倒計(jì)時(shí)總秒數(shù)
end:function(){//倒計(jì)時(shí)結(jié)束,時(shí)間為0是調(diào)用的函數(shù)
},
});
</script>
</html>
2.倒計(jì)時(shí)2.html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<title>倒計(jì)時(shí)</title>
<link rel="stylesheet" href="css/common.css" type="text/css" charset="utf-8"/>
<style type="text/css">
*{ margin:0; padding:0;}
.dtime{ margin:10px;}
.dtime span{ color:#C30;}
</style>
</head>
<body>
<div class="dtime" id="a1" alltime="3"></div>
<div class="dtime" id="a2" alltime="62"></div>
<div class="dtime" id="a3" alltime="3605"></div>
<div class="dtime" id="a4" alltime="48605"></div>
<div class="dtime" id="a5" alltime="123456"></div>
</body>
<script>
function tbdTimeCountdown(args){//倒計(jì)時(shí)函數(shù)
var ele=document.getElementById(args.id);
var alltime=Number(ele.getAttribute(args.alltime));
var arr=[];
var t=Math.floor(alltime/(24*60*60));
var yt=alltime%(24*60*60);
var s=Math.floor(yt/(60*60));
var ys=yt%(60*60);
var f=Math.floor(ys/(60));
var yf=ys%(60);
var m=yf;
arr[0]=[t,"天"];
arr[1]=[s,"小時(shí)"];
arr[2]=[f,"分"];
arr[3]=[m,"秒結(jié)束"];
var s=ce(arr,0);
ele.innerHTML=s;
var dong;
dong=setInterval(function(){
alltime-=1;
ele.setAttribute(args.alltime,alltime);
if(alltime<=0){
clearInterval(dong);
ele.innerHTML="<span>0</span>秒";
args.end();
}else{
t=Math.floor(alltime/(24*60*60));
yt=alltime%(24*60*60);
s=Math.floor(yt/(60*60));
ys=yt%(60*60);
f=Math.floor(ys/(60));
yf=ys%(60);
m=yf;
arr[0]=[t,"天"];
arr[1]=[s,"小時(shí)"];
arr[2]=[f,"分"];
arr[3]=[m,"秒結(jié)束"];
var s=ce(arr,0);
ele.innerHTML=s;
};
},1000);
function ce(arr,sta){
var i=sta;
if(i<arr.length){
if(arr[i][0]!=0){
var s="";
for(var j=i;j<arr.length;j++){
s+="<span>"+arr[j][0]+"</span>"+arr[j][1];
};
return s;
}else{
return ce(arr,i+1);
};
};
};
};//倒計(jì)時(shí)end
//效果1
//86402 3602 62
tbdTimeCountdown({id:"a1",//含有倒計(jì)時(shí)容器
alltime:"alltime",//倒計(jì)時(shí)總秒數(shù)
end:function(){//倒計(jì)時(shí)結(jié)束,時(shí)間為0是調(diào)用的函數(shù)
alert("倒計(jì)時(shí)結(jié)束才會(huì)執(zhí)行!");
},
});
//效果2
tbdTimeCountdown({id:"a2",//含有倒計(jì)時(shí)容器
alltime:"alltime",//倒計(jì)時(shí)總秒數(shù)
end:function(){//倒計(jì)時(shí)結(jié)束,時(shí)間為0是調(diào)用的函數(shù)
},
});
//效果3
tbdTimeCountdown({id:"a3",//含有倒計(jì)時(shí)容器
alltime:"alltime",//倒計(jì)時(shí)總秒數(shù)
end:function(){//倒計(jì)時(shí)結(jié)束,時(shí)間為0是調(diào)用的函數(shù)
},
});
//效果4
tbdTimeCountdown({id:"a4",//含有倒計(jì)時(shí)容器
alltime:"alltime",//倒計(jì)時(shí)總秒數(shù)
end:function(){//倒計(jì)時(shí)結(jié)束,時(shí)間為0是調(diào)用的函數(shù)
},
});
//效果4
tbdTimeCountdown({id:"a5",//含有倒計(jì)時(shí)容器
alltime:"alltime",//倒計(jì)時(shí)總秒數(shù)
end:function(){//倒計(jì)時(shí)結(jié)束,時(shí)間為0是調(diào)用的函數(shù)
},
});
</script>
</html>
大家可以參考專(zhuān)題 《js倒計(jì)時(shí)功能匯總》 進(jìn)行深入學(xué)習(xí)。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家學(xué)習(xí)JavaScript程序設(shè)計(jì)有所幫助。
- 基于javascript實(shí)現(xiàn)的購(gòu)物商城商品倒計(jì)時(shí)實(shí)例
- JS實(shí)現(xiàn)倒計(jì)時(shí)(天數(shù)、時(shí)、分、秒)
- js制作支付倒計(jì)時(shí)頁(yè)面
- JS實(shí)現(xiàn)表單驗(yàn)證功能(驗(yàn)證手機(jī)號(hào)是否存在,驗(yàn)證碼倒計(jì)時(shí))
- js帶鬧鈴功能的倒計(jì)時(shí)代碼
- js完整倒計(jì)時(shí)代碼分享
- 最全面的JS倒計(jì)時(shí)代碼
- js發(fā)送短信倒計(jì)時(shí)的簡(jiǎn)單實(shí)現(xiàn)方法
- js精準(zhǔn)的倒計(jì)時(shí)函數(shù)分享
- JS/jQ實(shí)現(xiàn)免費(fèi)獲取手機(jī)驗(yàn)證碼倒計(jì)時(shí)效果
- 點(diǎn)擊按鈕出現(xiàn)60秒倒計(jì)時(shí)的簡(jiǎn)單js代碼(推薦)
- Javascript實(shí)現(xiàn)倒計(jì)時(shí)(防頁(yè)面刷新)實(shí)例
相關(guān)文章
JS彈出對(duì)話(huà)框返回值代碼(asp.net后臺(tái))
JS彈出對(duì)話(huà)框返回值代碼,需要的朋友可以參考下。2010-12-12
TypeError document.getElementById(...) is null錯(cuò)誤原因
這篇文章主要介紹了TypeError document.getElementById(...) is null錯(cuò)誤原因,這是很容易犯的一個(gè)低級(jí)錯(cuò)誤,需要的朋友可以參考下2015-05-05
TypeScript使用vscode監(jiān)視代碼編譯的過(guò)程
這篇文章主要介紹了TypeScript使用vscode監(jiān)視代碼編譯,使用tsc 文件名稱(chēng)可以將ts文件轉(zhuǎn)化為js文件,js文件可以引入在html文件中直接使用,需要的朋友可以參考下2021-12-12
Bootstrap基本樣式學(xué)習(xí)筆記之表格(2)
Bootstrap提供了一個(gè)清晰的創(chuàng)建表格的布局,這篇文章主要介紹了Bootstrap學(xué)習(xí)筆記之表格基本樣式的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-12-12
JavaScript中具名函數(shù)的多種調(diào)用方式總結(jié)
這篇文章主要介紹了JavaScript中具名函數(shù)的多種調(diào)用方式總結(jié),本文總結(jié)了4種方法,需要的朋友可以參考下2014-11-11
JavaScript event對(duì)象整理及詳細(xì)介紹
這篇文章主要介紹了JavaScript event對(duì)象整理及詳細(xì)介紹的相關(guān)資料,需要的朋友可以參考下2016-10-10

