作者:撒哈拉2011的马甲_978 | 来源:互联网 | 2017-05-11 02:04
看效果
2. 处理分秒位数不足的补0
看代码了
wxml:
支付剩余时间:
{{clock}}
wxjs:
// pages/order/take_order/pay/pay.js
var app = getApp()
Page({
data: {
imgUrls_pay_time: '/image/icon_orderstatus_countdown.png',
"productName": "",
"productPrice": "",
"payDetail": [],
"wxPayMoneyDesc": "",
"expireTime": "",
clock: ''
},
onLoad: function (options) {
// 页面初始化 options为页面跳转所带来的参数
new app.WeToast()
var that = this;
that.count_down();
},
onReady: function () {
// 页面渲染完成
},
onShow: function () {
// 页面显示
},
onHide: function () {
// 页面隐藏
},
onUnload: function () {
// 页面关闭
},
/* 毫秒级倒计时 */
count_down: function () {
var that = this
//2016-12-27 12:47:08 转换日期格式
var a = that.data.expireTime.split(/[^0-9]/);
//截止日期:日期转毫秒
var expireMs = new Date(a[0], a[1] - 1, a[2], a[3], a[4], a[5]);
//倒计时毫秒
var duringMs = expireMs.getTime() - (new Date()).getTime();
// 渲染倒计时时钟
that.setData({
clock: that.date_format(duringMs)
});
if (duringMs <= 0) {
that.setData({
clock: "支付已截止,请重新下单"
});
// timeout则跳出递归
return;
}
setTimeout(function () {
// 放在最后--
duringMs -= 10;
that.count_down();
}
, 10)
},
/* 格式化倒计时 */
date_format: function (micro_second) {
var that = this
// 秒数
var secOnd= Math.floor(micro_second / 1000);
// 小时位
var hr = Math.floor(second / 3600);
// 分钟位
var min = that.fill_zero_prefix(Math.floor((second - hr * 3600) / 60));
// 秒位
var sec = fill_zero_prefix(second % 60);// equal to => var sec = second % 60;
return hr + ":" + min + ":" + sec + " ";
},
/* 分秒位数补0 */
fill_zero_prefix: function (num) {
return num <10 ? "0" + num : num
}
})
tip:
如果不进行位数补0
将会显示如下
更多Android中微信小程序支付倒计时功能相关文章请关注PHP中文网!