JS實(shí)現(xiàn)動(dòng)態(tài)倒計(jì)時(shí)功能(天數(shù)、時(shí)、分、秒)
寫在前面:
實(shí)現(xiàn)倒計(jì)時(shí)功能首先是得到目標(biāo)時(shí)間,然后用當(dāng)前時(shí)間減去目標(biāo)時(shí)間,最后將時(shí)間差傳化為天數(shù)、時(shí)、分、秒。由于得到的時(shí)間不能直接運(yùn)算,可以采用object.getTime()方法轉(zhuǎn)化成相同類型進(jìn)行運(yùn)算。
相關(guān)說明:
如果想要顯示界面好看些,可以添加一下樣式。

<script>
function show(){
//獲取目的日期
var myyear=document.getElementById("year").value;
var mymonth=document.getElementById("month").value-1;
var myday=document.getElementById("day").value;
var myhour=document.getElementById("hour").value;
var myminute=document.getElementById("minute").value;
var mysecond=document.getElementById("second").value;
var time=Number(new Date(myyear,mymonth,myday,myhour,myminute,mysecond));
// var time=new Date(myyear,mymonth,myday,myhour,myminute,mysecond).getTime();
//獲取當(dāng)前時(shí)間
var nowTime=Date.now();
// var nowTime=new Date().getTime();
//獲取時(shí)間差
var timediff=Math.round((time-nowTime)/1000);
//獲取還剩多少天
var day=parseInt(timediff/3600/24);
//獲取還剩多少小時(shí)
var hour=parseInt(timediff/3600%24);
//獲取還剩多少分鐘
var minute=parseInt(timediff/60%60);
//獲取還剩多少秒
var second=timediff%60;
//輸出還剩多少時(shí)間
document.getElementById("1").innerHTML=day;
document.getElementById("2").innerHTML=hour;
document.getElementById("3").innerHTML=minute;
document.getElementById("4").innerHTML=second;
setTimeout(show,1000);
if(timediff==0){return;}
}
</script>

<head>
<meta charset="UTF-8">
<title>Document</title>
<style>
input{width:50px;height: 20px;border:1px solid black;}
.time1 span{display:inline-block;width:40px;height: 20px;}
</style>
</head>
<body>
<form>目的日期:
<input type="text" id="year"><span>年</span>
<input type="text" id="month"><span>月</span>
<input type="text" id="day"><span>日</span>
<input type="text" id="hour"><span>時(shí)</span>
<input type="text" id="minute"><span>分</span>
<input type="text" id="second"><span>秒</span>
<input type="button" value="確定" οnclick="show()">
</form>
<div class="time1">還剩時(shí)間:
<span id="1"></span>天
<span id="2"></span>時(shí)
<span id="3"></span>分
<span id="4"></span>秒
</div>
寫在最后:倒計(jì)時(shí)的難點(diǎn)主要是時(shí)間格式和數(shù)字格式的轉(zhuǎn)換,轉(zhuǎn)換時(shí)除了object.getTime()方法還有Number(object)方法,大家可以嘗試使用一下。
總結(jié)
以上所述是小編給大家介紹的JS實(shí)現(xiàn)動(dòng)態(tài)倒計(jì)時(shí)功能(天數(shù)、時(shí)、分、秒),希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
如果你覺得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!
相關(guān)文章
JavaScript數(shù)字?jǐn)?shù)組的13個(gè)實(shí)用小技巧
數(shù)組是JS最常見的一種數(shù)據(jù)結(jié)構(gòu),咱們?cè)陂_發(fā)中也經(jīng)常用到,在這篇文章中,提供一些小技巧,幫助咱們提高開發(fā)效率,這篇文章主要給大家分享介紹了關(guān)于JavaScript數(shù)字?jǐn)?shù)組的13個(gè)實(shí)用小技巧,需要的朋友可以參考下2023-11-11
前端錯(cuò)誤日志上報(bào)的超詳細(xì)解決方案
這篇文章主要介紹了如何使用Node.js搭建一個(gè)簡(jiǎn)單的錯(cuò)誤監(jiān)控平臺(tái),用于收集和上報(bào)Vue.js項(xiàng)目的運(yùn)行錯(cuò)誤,文中通過代碼以及圖文介紹的非常詳細(xì),需要的朋友可以參考下2024-11-11
javascript IE中的DOM ready應(yīng)用技巧
當(dāng)我們想在頁面加載之后執(zhí)行某個(gè)函數(shù),肯定會(huì)想到onload了 但onload在瀏覽器看來,就是頁面上的東西全部都加載完畢后才能發(fā)生,但那就為時(shí)已晚了。2008-07-07
使用JavaScript為一張圖片設(shè)置備選路徑的方法
在做網(wǎng)頁開發(fā)的時(shí)候,有時(shí)候希望給圖片設(shè)置一個(gè)備選路徑,即,當(dāng)src屬性對(duì)應(yīng)的主路徑加載失敗的時(shí)候,圖片可以馬上切換到備選路徑,怎么實(shí)現(xiàn)呢?下面通過本文給大家分享JavaScript為一張圖片設(shè)置備選路徑的方法,一起看看吧2017-01-01

