一个页面上多个秒杀倒计时

1.时间的换算

function  timer (DateStr){
	var date = {};
    //结束时间
    var endDate = new Date(DateStr);
    //当前时间
    var nowDate = new Date();
    //相差的总秒数
    var totalSeconds = parseInt((endDate - nowDate) / 1000);
    //天数
    var days = Math.floor(totalSeconds / (60 * 60 * 24));
    //取模(余数)
    var modulo = totalSeconds % (60 * 60 * 24);
    //小时数
    var hours = Math.floor(modulo / (60 * 60));
    modulo = modulo % (60 * 60);
    //分钟
    var minutes = Math.floor(modulo / 60);
    //秒
    var seconds = modulo % 60;
    date = {
      days: days,
      hours: hours,
      minutes: minutes,
      seconds: seconds,
    }
    return date
}

2.倒计时

function daojishi(array){
    var set = setInterval(function() {
      array.map((v, index) => {
        var date = timer (v.time);
        var day = date.days;
        var hours = date.hours;
        var min = date.minutes;
        var sec = date.seconds;
      	 //判断时间有没有为0
        if (date.days <= 0 && date.hours <= 0 && date.minutes <= 0 && date.seconds <= 0) {
          v.str = "还剩:0天00小时00分钟00秒"
          //设置一个标志,如果全部为0,就可以关闭计时器
          v.realtime = 0;
           let flag = array.every((val, ind) => {
            return val.realtime == 0
          })
          if (flag) {
            clearInterval(set)
          }
        } else {
          if (hours < 10) {
            hours = '0' + hours;
          }
          if (min < 10) {
            min = '0' + min;
          }
          if (sec < 10) {
            sec = '0' + sec;
          }
          v.str = "还剩:" + date.days + "天" + hours + "小时" + min + "分钟" + sec + "秒"
        }
      })
      // 这里拿到的array就会时刻更新
      console.log(array)
      return array;
    }, 1000);
}


var arr =[{ time: '2019-08-16 17:19:00' }, {time: '2019-08-16 17:20:00'}, { time: '2019-08-16 17:21:00' }];
daojishi(arr);
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值