主机参考:VPS测评参考推荐/专注分享VPS服务器优惠信息!若您是商家可以在本站进行投稿,查看详情!此外我们还提供软文收录、PayPal代付、广告赞助等服务,查看详情! |
我们发布的部分优惠活动文章可能存在时效性,购买时建议在本站搜索商家名称可查看相关文章充分了解该商家!若非中文页面可使用Edge浏览器同步翻译!PayPal代付/收录合作 |
下面是自己写的代码,功能是实现微信官方账号开发过程中的倒计时。效果如下。订单已提交。请在2分57秒内完成支付。纯代码解析。
最初的想法没有考虑到页面在后台运行并且屏幕被锁定的情况。代码如下:
let interval = setInterval(()=》{ let { static time } = this . state;static time = static time -1;if(static time { let { background time,staticTime } = this.statethis . setstate({ background time:0 });static time = static time -background time -1;if(static time {
let { background time } = this . state;让开始,结束;让自我=这个;document . addevent listener(“visibility change“,function(){ if(document . visibility state = = & # 39;隐藏& # 39;){ start =新日期()。getTime();} else if(document . visibility state = = & # 39;可见& # 39;){ end =新日期()。getTime();background time = math . floor((end -start)/1000);self . setstate({ background time });console . log(& # 39;时差:& # 39;background time);} console . log(document . visibility state);});}
改造后,先下手为强的问题依然存在。原因是:您不能在iPhone睡眠时使用setting out()how继续运行JavaScript。当手机进入睡眠状态时,Safari将使用timeout()终止任何正在运行的JavaScript进程。请在这里查看这个答案,了解为什么要这样做。* *解决方案:* *订单生成时,我们将此时间记录为A,时间间隔为B(要求在3分钟内付款,B为3*60*1000),C为当前时间。我们使用setInterval每1秒读取一次时间。然后倒计时时间== A+B-C,代码如下:let interval = setinterval(()=》{ let { order time,time } = this.statelet now time = date . now();let sub = math . floor((order time+static time -now time)/1000);console . log(& # 39;sub & # 39,sub);if(sub
这几篇文章你可能也喜欢:
- 如何使用微信小程序中的车牌号输入法(如何使用微信小程序中的车牌号输入法进行打印)
- 什么是骨架屏?
- 微信小程序开发中var that =this的基本用法
- 回想一下Android智能手机上的微信小程序白屏问题(手机上打开小程序时白屏)。
- 可以转发微信小程序给好友(微信小程序可以转发分享到朋友圈吗?)
本文由主机参考刊发,转载请注明:微信微信官方账号开发,实现一个倒计时功能(纯代码)(微信官方账号如何倒序)。 https://zhujicankao.com/104621.html
评论前必须登录!
注册