原理
倒计时 = 现在的时间点(new Date())/终点(new Date(/这里填终点时间/));
最后将差值转换为想要的格式。
使用setInterval(fn, 1000);每一秒执行一次就好。
JS实现
var timer = null;
countDown();
timer = setInterval(countDown, 1000);
// 倒计时计算函数
function countDown(){
var nowTime = new Date(); // 获取当前日期
// console.log(nowTime);
var endTime = new Date(2017,10,22,20,46,0); // 转换成和nowTime的格式相同(!注意:获取月是从0开始,因此写月份要减1)
// console.log(endTime);
var t = Math.floor((endTime - nowTime)/1000); // 计算相差的时间(单位:秒)
// console.log(t);
var iD = Math.floor(Math.floor(t/86400)); // 天(86400 = 24*3600)
var iH = Math.floor(t%86400/3600); // 时
var iM = Math.floor((t%3600)/60); // 分
var iS = t%60; // 秒
if ( t==0 ){
clearInterval(timer);
$("p1").innerHTML = "抢购完毕!";
} else {
$("p1").innerHTML = "距离结束时间还有:" + addZ(iD) + "天" + addZ(iH) + ":" + addZ(iM) + ":" + addZ(iS);
}
}
function addZ(iNum){
return iNum<10 ? "0"+iNum : iNum;
}