一個簡單的JS倒計時


看到很多商城都是搶購倒計時的功能,今天閑來無事做了個倒計時。全當學習JS。
主要思路:主要用到Date對象,聲明一個變量獲取當前時間,在聲明一個變量獲取結束時間,結束時間-當前時間=剩余時間(倒計時),中間涉及到一些簡單的數學運算和取整。
注:getDay()獲取到星期的時候是0~6,0為星期天。所以聲明一個數組來轉換成大寫的星期。在數組[getDay()]就得到星期格式。
HTML內容:
<span>顯示當前時間:</span>
<span id="show" style="color: red"></span>
<div id='timeshow' style="color: red"></div>
<div id='timeleft' style="color:red;"></div>
JS內容:
showTime();
function showTime(){
var myData=new Date(); //獲取當前時間
var endTime=new Date('2050/10/22,12:20:12') //設定倒計時結束時間
var lefttime=(endTime.getTime()-myData.getTime())/(24*60*60*1000); //結束時間-當前時間=剩下時間(毫秒數)把得到的數字轉化成毫秒數(得到差的毫秒數/一天的毫秒數=天數)
//一天=24小時 1小時=60分鍾 1分鍾=60秒 1秒=1000毫秒
lefttime=Math.ceil(lefttime) //對得到的毫秒數進行四舍五入
 
var leftHMS=parseInt((endTime.getTime()-myData.getTime())/1000); //得到剩余的毫秒數
var ds=parseInt(leftHMS/(24*60*60)); //換算成天
var xs=parseInt(leftHMS/(60*60)%24); //得到小時 取模24小時
var fz=parseInt(leftHMS/60%60); //得到分鍾
var mz=parseInt(leftHMS%60); //得到秒數
 
 
var year=myData.getFullYear(); //獲取年
var month=myData.getMonth()+1; //獲取月 必須+1
var data=myData.getDate(); //獲取日
var h=myData.getHours();
var m=myData.getMinutes();
var s=myData.getSeconds();
m=checkTime(m);
s=checkTime(s);
function checkTime(i){
if(i<10){
return '0'+i;
}else{
return i;
}
};
//分鍾和秒數都是一位數,所以需要用0補位
var d=myData.getDay(); //獲取星期(因星期打印出事0~6,所以用數組形式轉化成對應的星期)
var weekday=['星期日','星期一','星期二','星期三','星期四','星期五','星期六']
document.getElementById("show").innerHTML=year+'年'+month+'月'+data+'日'+'&nbsp;'+weekday[myData.getDay()]+'&nbsp;'+
h+':'+m+':'+s;
//打印出年月日
document.getElementById("timeshow").innerHTML='離高考還有:'+lefttime+'天';
//打印出倒計時天數
document.getElementById('timeleft').innerHTML='離世界末日還有:'+ds+'天'+xs+'小時'+fz+'分鍾'+mz+'秒';
}
setInterval(function(){
showTime();
},500)
//定時調用showTime函數


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM