Android中微信小程序支付倒计时功能
作者:莫兰迪不会没有瓶子 时间:2022-04-02 09:18:23
看效果
由于web 经验弱爆- - 一开始我的思路是找事件,但是看了半天API 基本都是点击触摸,通过物理触发- -
我居然忽略了生命周期,生命周期+线程不就完全OK吗~
事实证明,线程还是王道啊,一开始就应该这么搞嘛~
度娘上面也看了很多都是用js写的,but,可能刚做没几天吧,我对js与微信小程序掌握还不够熟练
思路:
onLoad:function(options)调用倒计时方法函数
定义线程进行数据动态现实
1. 日期转化成毫秒
2.定义线程动态显示
3.渲染倒计时
1.毫秒转成固定格式
2. 处理分秒位数不足的补0
看代码了
wxml:
<view class="pay_time">
<image src="{{imgUrls_pay_time}}"></image>
<text>支付剩余时间:</text>
<text>{{clock}} </text>
</view>
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中微信小程序支付倒计时功能网站的支持!
来源:http://blog.csdn.net/zhaoyazhi2129/article/details/53885301
标签:微信小程序,倒计时
0
投稿
猜你喜欢
SpringBoot整合Zookeeper详细教程
2022-07-24 11:33:09
Java的JDBC中Statement与CallableStatement对象实例
2022-11-14 17:22:08
基于spring 方法级缓存的多种实现
2022-12-14 18:31:38
C#使用foreach循环遍历数组完整实例
2021-12-27 15:10:33
nacos使用占位符${}进行参数配置的方法
2022-07-15 08:59:07
C#编程获取客户端计算机硬件及系统信息功能示例
2023-08-09 01:57:15
C#生成单页静态页简单实例
2022-01-22 20:00:57
Java语言实现Blowfish加密算法完整代码分享
2023-11-02 21:30:07
java中Integer包装类装箱的一个细节详解
2023-09-24 18:35:32
Java接口DAO模式代码原理及应用详解
2023-06-21 05:29:04
Android GestureDetector实现手势滑动效果
2023-10-01 04:37:50
java遍历properties文件操作指南
2023-11-23 02:43:45
比较有效的使用C#读取文件的代码
2022-11-07 08:43:34
Winform中如何跨线程访问UI元素
2023-04-26 08:12:10
javassist使用指南
2023-03-04 17:03:00
springBoot解决static和@Component遇到的bug
2022-12-31 01:23:27
Unity3D动态对象优化代码分享
2023-12-22 09:38:24
解决SpringMvc中普通类注入Service为null的问题
2023-10-29 01:23:25
C#超市收银系统设计
2023-06-21 00:00:09
spring boot实现自动输出word文档功能的实例代码
2021-11-10 13:37:51