js倒计时功能实现(关闭页面之后也可运行)以及ios时间显示不正常处理
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<=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);//这一段代码是将返回的时间转一下格式,格式如果正确的话可以不应写
更多推荐
已为社区贡献1条内容
所有评论(0)