js倒计时功能实现(关闭页面之后也可运行)以及ios时间显示不正常处理
在开发中经常会用到倒计时的功能,普通一般的倒计时我们可以使用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= 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);//这一段代码是将返回的时间转一下格式,格式如果正确的话可以不应写