Android中微信小程序支付倒计时功能

发布时间 - 2026-01-10 22:08:03    点击率:

看效果

由于web 经验弱爆- -  一开始我的思路是找事件,但是看了半天API 基本都是点击触摸,通过物理触发- -

我居然忽略了生命周期,生命周期+线程不就完全OK吗~

事实证明,线程还是王道啊,一开始就应该这么搞嘛~

度娘上面也看了很多都是用js写的,but,可能刚做没几天吧,我对js与微信小程序掌握还不够熟练

思路:

  1. onLoad:function(options)调用倒计时方法函数
  2. 定义线程进行数据动态现实

                            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中微信小程序支付倒计时功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!


# 微信小程序倒计时  # 微信小程序支付  # 微信小程序实现倒计时补零功能  # 微信小程序实现倒计时调用相机自动拍照功能  # 微信小程序实现验证码获取倒计时效果  # 微信小程序倒计时功能实现代码  # 微信小程序之发送短信倒计时功能  # 微信小程序注册60s倒计时功能 使用JS实现注册60s倒计时功能  # 微信小程序实现倒计时60s获取验证码  # 微信小程序动态显示项目倒计时效果  # 微信小程序电商常用倒计时实现实例  # 微信小程序实现团购或秒杀批量倒计时  # 倒计时  # 都是  # 看了  # 递归  # 小编  # 放在  # 将会  # 在此  # 我对  # 半天  # 给大家  # 不就  # 跳转  # 还不够  # 所述  # 截止日期  # 下单  # 给我留言  # 转成  # 感谢大家 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: javascript中数组(Array)对象和字符串(String)对象的常用方法总结  如何用免费手机建站系统零基础打造专业网站?  JS去除重复并统计数量的实现方法  如何在腾讯云服务器快速搭建个人网站?  Android okhttputils现在进度显示实例代码  Laravel如何使用Seeder填充数据_Laravel模型工厂Factory批量生成测试数据【方法】  教你用AI将一段旋律扩展成一首完整的曲子  Laravel怎么做数据加密_Laravel内置Crypt门面的加密与解密功能  Laravel如何实现图片防盗链功能_Laravel中间件验证Referer来源请求【方案】  制作旅游网站html,怎样注册旅游网站?  Win11关机界面怎么改_Win11自定义关机画面设置【工具】  Laravel如何使用Vite进行前端资源打包?(配置示例)  原生JS实现图片轮播切换效果  网站制作大概要多少钱一个,做一个平台网站大概多少钱?  如何在万网利用已有域名快速建站?  公司门户网站制作流程,华为官网怎么做?  iOS验证手机号的正则表达式  Laravel怎么实现验证码(Captcha)功能  浅述节点的创建及常见功能的实现  ai格式如何转html_将AI设计稿转换为HTML页面流程【页面】  西安专业网站制作公司有哪些,陕西省建行官方网站?  小米17系列还有一款新机?主打6.9英寸大直屏和旗舰级影像  如何快速登录WAP自助建站平台?  如何在Ubuntu系统下快速搭建WordPress个人网站?  如何用虚拟主机快速搭建网站?详细步骤解析  黑客如何利用漏洞与弱口令入侵网站服务器?  如何生成腾讯云建站专用兑换码?  魔方云NAT建站如何实现端口转发?  如何快速选择适合个人网站的云服务器配置?  Laravel用户密码怎么加密_Laravel Hash门面使用教程  如何在阿里云完成域名注册与建站?  用yum安装MySQLdb模块的步骤方法  Laravel如何使用缓存系统提升性能_Laravel缓存驱动和应用优化方案  海南网站制作公司有哪些,海口网是哪家的?  Laravel Blade模板引擎语法_Laravel Blade布局继承用法  Win11怎么修改DNS服务器 Win11设置DNS加速网络【指南】  北京专业网站制作设计师招聘,北京白云观官方网站?  Edge浏览器如何截图和滚动截图_微软Edge网页捕获功能使用教程【技巧】  Laravel如何实现邮件验证激活账户_Laravel内置MustVerifyEmail接口配置【步骤】  HTML5空格和nbsp有啥关系_nbsp的作用及使用场景【说明】  Gemini怎么用新功能实时问答_Gemini实时问答使用【步骤】  详解免费开源的.NET多类型文件解压缩组件SharpZipLib(.NET组件介绍之七)  教你用AI润色文章,让你的文字表达更专业  如何续费美橙建站之星域名及服务?  Midjourney怎么调整光影效果_Midjourney光影调整方法【指南】  如何在宝塔面板创建新站点?  Laravel如何使用Guzzle调用外部接口_Laravel发起HTTP请求与JSON数据解析【详解】  如何登录建站主机?访问步骤全解析  广州网站制作公司哪家好一点,广州欧莱雅百库网络科技有限公司官网?  如何在万网自助建站平台快速创建网站?