小程序中的倒计时

var total_micro_second = 60 * 1000 * 60 * 24;
/* 毫秒级倒计时 */
function count_down(that) {
  // 渲染倒计时时钟
  var arr = date_format(total_micro_second);
  that.setData({
        clock:arr[5],
          second: arr[0],
          hr: arr[1],
          min: arr[2],
          sec: arr[3],
          micro_sec: arr[4],
        
    // clock:date_format(total_micro_second)
  });

  if (total_micro_second <= 0) {
    that.setData({
      clock:"已经截止"
    });
    // timeout则跳出递归
    return ;
  }    
  setTimeout(function(){
    // 放在最后--
  total_micro_second -= 10;
  count_down(that);
}
,10)
}

// 时间格式化输出,如03:25:19 86。每10ms都会调用一次
function date_format(micro_second) {
  // 秒数
  var second = Math.floor(micro_second / 1000);
  // 小时位
  var hr = Math.floor(second / 3600);
  // 分钟位
  var min = fill_zero_prefix(Math.floor((second - hr * 3600) / 60));
  // 秒位
var sec = fill_zero_prefix((second - hr * 3600 - min * 60));// equal to => var sec = second % 60;
// 毫秒位,保留2位
var micro_sec = fill_zero_prefix(Math.floor((micro_second % 1000) / 10));
  
  var arr=[];
  var clock = hr + ":" + min + ":" + sec + " " + micro_sec;
  arr[0] = second; arr[1] = hr; arr[2] = min; arr[3] = sec; arr[4] = micro_sec; arr[5] = clock;
  return arr;

// return hr + ":" + min + ":" + sec + " " + micro_sec;
}

// 位数不足补零
function fill_zero_prefix(num) {
return num < 10 ? "0" + num : num
}

Page({
	data: {
		clock: '',
		second:'',
		hr:'',
		min:'',
		sec:'',
		micro_sec:'',
	},
	onLoad: function() {
		count_down(this);
  }
});

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值