demo的css樣式如下:
* { margin: 0;padding: 0;} #timer { font-size: 0px;color: red;font-weight: bolder; /*對字體進行抗鋸齒渲染可以使字體看起來會更清晰舒服它有三個屬性值: none: 對低像素的文本比較好;subpixel-antialiased:默認值;antialiased:抗鋸齒很好 */ -webkit-font-smoothing: antialiased; } span {font-size: 12px;} /*將span定寬,將重繪最小化*/ #days,#hours,#minutes,#seconds { display: inline-block; width: 14px; text-align: center; }
demo的html如下:
<div id="timer"> <span id="days"></span><span>天</span> <span id="hours"></span><span>小時</span> <span id="minutes"></span><span>分</span> <span id="seconds"></span><span>秒</span> </div>
demo的js如下:
var leftTime; function leftTimer(year,month,day,hour,minute,second){ leftTime = (new Date(year,month-1,day,hour,minute,second)) - (new Date()); //計算剩余的毫秒數 var days = parseInt(leftTime / 1000 / 60 / 60 / 24 , 10); //計算剩余的天數 var hours = parseInt(leftTime / 1000 / 60 / 60 % 24 , 10); //計算剩余的小時 var minutes = parseInt(leftTime / 1000 / 60 % 60, 10);//計算剩余的分鍾 var seconds = parseInt(leftTime / 1000 % 60, 10);//計算剩余的秒數 return { days: checkTime(days), hours: checkTime(hours), minutes: checkTime(minutes), seconds: checkTime(seconds) } } var timer = setInterval(function(){ var t = leftTimer(2017,11,21,12,0,0); if (!leftTime) clearInterval(timer); document.getElementById("days").innerHTML = t.days; document.getElementById("hours").innerHTML = t.hours; document.getElementById("minutes").innerHTML = t.minutes; document.getElementById("seconds").innerHTML = t.seconds; },1000); function checkTime(i){ //將0-9的數字前面加上0,例1變為01 if(i<10) i = "0" + i; return i; }