js倒计时功能实现(关闭页面之后也可运行)以及ios时间显示不正常处理

本文介绍了如何在JavaScript中实现一种类似消息队列的效果,确保倒计时在页面关闭时也能继续运行,并在达到预设时间后执行特定业务逻辑。通过设置setInterval来定时更新倒计时显示,并在条件满足时调用相应方法。特别注意在iOS系统中处理后台返回时间的格式转换问题,以确保代码的正确运行。
摘要由CSDN通过智能技术生成

在开发中经常会用到倒计时的功能,普通一般的倒计时我们可以使用setTimeout或者setInterval

这两种方法,这两个就不过多介绍了,网上都可以查到。

但是这两个方法的弊端在于页面关闭时不会触发,现在我们想要的效果就是有点像消息队列的效果,在页面关闭时倒计时方法也在运行,到一定时间时触发里面的方法体:代码如下

//js代码段
var ctime = "${askOrder.djTime}"

//定义倒计时方法
					function daojishi(ddId) {
						if(flag == "true"){
							return false;
						}
						var time;
						var second;
					    var djs = setInterval(function () {
					         t = 60 - parseInt(((new Date() / 1000) - ctime/1000) / 60);   //剩余分钟数
					         var s = 60 - parseInt(((new Date() / 1000) - ctime/1000) % 60); //剩余秒数
					        
					        if (s == 60) {
					            s = 0;
					            t = t + 1;
					        }
					
					        if (t <= 0 && s<=0) {
					        	//window.location.href = "${wxFront}/server/yqxHref?ddId="+ddId+"&fee="+fee;
					        	yqxState();//这里是具体执行的自己业务逻辑方法
					            clearInterval(djs);
					        }
					         time = t >= 10 ? t: "0"+t;
					       // time = time/1000/60/60;
					         second =s>=10?s:"0"+s;
						$("#close").text("等待支付"+time+":"+second+"后订单自动关闭");
					   }, 1000);
					   
					}

说明:第一段代码是从后台请求回来的时间信息

特别注意:如果你开发的应用要在ios系统上运行的话一定要将后台返回的时间进行二次处理,将返回的时间如下处理

ctime = ctime.replace(/-/g,"/");
	ctime = new Date(ctime);//这一段代码是将返回的时间转一下格式,格式如果正确的话可以不应写

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值