1. 程式人生 > >js實現有關時間的倒計時

js實現有關時間的倒計時

<!DOCTYPE html>
<htmllang="en">
<head>
    <meta http-equiv="Content-Type"content="text/html; charset=utf-8"/>
    <title>demo</title>
    <style>
        body,h1,h2,h3,h4,h5,h6,hr,p,blockquote,dl,dt,dd,ul,ol,li,pre,form,fieldset,legend,button,input,textarea,th,td{margin:0;padding:0;}
        h1,h2,h3,h4,h5,h6{font-size:100%;}
        address,cite,dfn,em,var{font-style:normal;}
        code,kbd,pre,samp{font-family:courier new,courier,monospace;}
        ul,ol{list-style:none;}
        a{text-decoration:none;}
        a:hover{text-decoration:none;}
        sup{vertical-align:text-top;}
        sub{vertical-align:text-bottom;}
        legend{color:#000;}
        fieldset,img{border:0;}
        button,input,select,textarea{font-size:100%;}
        table{border-collapse:collapse;border-spacing:0;}
        .clear{clear: both;float: none;height: 0;overflow: hidden;}
    </style>
</head>
<body>
<div id="time"></div>
<br/>
<div id="day"></div>
<br/>
<div id="tm"></div>
<script type="text/javascript">
//在頁面載入完後立即執行多個函式完美方案。
function addloadEvent(func){
var oldonload=window.onload;
if(typeof window.onload !="function"){
window.onload=func;
}
else{
window.onload=function(){
if(oldonload){
oldonload();
}
func();
}
}
}
addloadEvent(showTime);
addloadEvent(day);
addloadEvent(tb);
//在頁面載入完後立即執行多個函式完美方案over。
//天時秒分倒計時
function tb(){
var myDate=new Date();//獲取當前時間
var endtime=new Date("2018,1,1");//獲取結束時間
//換算成秒 小數點向下舍入取整
var ltime=Math.floor((endtime.getTime()-myDate.getTime())/1000);
//console.log(ltime)
//換算成天 小數點向下舍入取整
var d=Math.floor(ltime/(24*60*60));
//換算成小時取去掉天數的餘數(也就是小時) 小數點向下舍入取整
var h=Math.floor(ltime/(60*60)%24);
//換算成分鐘取去掉小時的餘數(也就是分鐘) 小數點向下舍入取整
var m=Math.floor(ltime/60%60);
//換算成分鐘取去掉分鐘的餘數(也就是秒) 小數點向下舍入取整
var s=Math.floor(ltime%60);
document.getElementById("tm").innerHTML="距2018年元旦還有:"+d+"天"+h+"小時"+m+"分鐘"+s+"秒";
if(ltime<=0){
document.getElementById("tm").innerHTML="元旦快樂!";
clearTimeout(tb);
}
setTimeout(tb,1000);
}
//當秒數為個位數時前面+字串0
function checkTime(i){
return i<10? "0"+i:""+i;
}
//當前時間標準格式
function showTime(){
var myDate=new Date();//獲取當前時間
var year=myDate.getFullYear();//獲取年份
var month=myDate.getMonth()+1;//獲取月份是0-11的數字所以+1
var date=myDate.getDate();//日
var day=myDate.getDay();//
var h=myDate.getHours();//小時
var m=myDate.getMinutes();//分鐘
var s=myDate.getSeconds();//秒
checkTime(m);
checkTime(s);
//console.log(day)
var week="日一二三四五六".charAt(day);
document.getElementById("time").innerHTML=year+"年"+month+"月"+date+"日"+"星期"+week+h+":"+m+":"+s;
setTimeout(showTime,1000);
}
//倒計時天數計算
function day(){
var myDate=new Date();//獲取當前時間
var endtime=new Date("2018,1,1");//獲取結束時間
//先換算成毫秒再相減就是時間差,再除以一天的毫秒數結果是帶有小數點的,用math方法進一位取整
var ltime=Math.ceil((endtime.getTime()-myDate.getTime())/(24*60*60*1000));
document.getElementById("day").innerHTML="距2018年元旦還有:"+ltime+"天";
}
</script>
</body>
</html>