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);
}
});