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


猜你喜欢
- 简介在一般的网站中,比如Bilibili。当用户登录成功后,关闭浏览器后,下次重新进入网站,可以自动登录。本次就来探究如何实现这种自动登录、
- 一、定义1、T 代表一种类型可以加在类上,也可以加在方法上1)T 加在类上class SuperClass<A>{//todo}
- 多对一(Many-to-One)映射多对一(many-to-one)关联是最常见的关联关系,其中一个对象可以与多个对象相关联。例如,一个相同
- 目录问题:解答方案:总结问题:我遇到了一个有趣的问题,它的代码大概是这样的。List<Func<int>> acti
- springboot环境切换失效概述最近在使用-Dspring.profiles.active=te 来切换spring-boot的环境时,
- 二维码是什么二维码 QR Code,全称为:Quick Response Code,最早用于日本汽车制造业追踪零部件。QR现有40个标准版本
- 我们都知道且经常用到 unsigned 关键字,但有没有想过,与此对应的 signed 关键字有啥用?int i = 0;signed in
- Web服务器收到客户端的http请求,会针对每一次请求,分别创建一个用于代表请求的request对象,和代表响应的respon
- 本文实例讲述了C#遍历子目录的方法。分享给大家供大家参考。具体实现方法如下:DirectoryInfo directoryInfo = ne
- 在系统的管理员有着实际的应用,对于一个数据库管理系统来说,数据库安全还是挺重要的,所以在存入到数据库的密码通常都是加密的。即使有着hack攻
- 引言这是一篇基于Socket进行网络编程的入门文章,我对于网络编程的学习并不够深入,这篇文章是对于自己知识的一个巩固,同时希望能为初学的朋友
- 首先我先声明一点,本文单纯就是技术探讨,要从实际应用中来说的话,我并不建议这样去玩分布式事务、也不建议这样去玩多数据源,毕竟分布式事务主要还
- 一、项目简述功能包括: 用户登录,设备管理,设备指派,贝附信息,信息公告, 信息维护,系统管理,图表统计等等功能。二、项目运行环境配置: J
- 对于int,double等的tostring:C 货币 2.5.ToString("C
- 需要导入ant.jar包,apache网站(http://ant.apache.org/bindownload.cgi)下载即可。impor
- 一、做一个小测试通过注释,标注出下面两个类中每个方法的执行顺序,并写出studentId的最终值。package com.nezha.jav
- 一:Java创建线程方式继承Thread类或者实现Runnable接口。但是Runnable 的 run() 方法是不带返回值的,那如果我们
- 这其实是去年校招时我遇到的一道阿里巴巴的笔试题(承认有点久远了-。-),嗯,如果我没记错的话,当时是作为Java方向的一道选做大题。当然题意
- 一、加密方案介绍对接口的加密解密操作主要有下面两种方式:自定义消息转换器优势:仅需实现接口,配置简单。劣势:仅能对同一类型的MediaTyp
- 问题说明:IDEA编译的时候乱码,Build Output提示信息乱码�����。解决方案一:将Help—>Edit Cusuom V