JS倒计时原理及实现

原理

倒计时 = 现在的时间点(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;
}
  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值