uniapp电商小程序实现订单30分钟倒计时
yehaocheng520 人气:0倒计时函数如下:
// cm 参数是截至时间-当前时间 // 截至时间是后台返回的数据,当前时间通过new Date() 的方式进行获取 runBack(cm) { if (cm > 0) { // 如果时间是超过1分钟,则需要展示的样式是: x分x秒,如果是小于1分钟,则是 00分x秒 cm > 60000 ? (this.rocallTime = (new Date(cm).getMinutes() < 10 ? "0" + new Date(cm).getMinutes() : new Date(cm).getMinutes()) + ":" + (new Date(cm).getSeconds() < 10 ? "0" + new Date(cm).getSeconds() : new Date(cm).getSeconds())) : (this.rocallTime = "00:" + (new Date(cm).getSeconds() < 10 ? "0" + new Date(cm).getSeconds() : new Date(cm).getSeconds())); let _msThis = this; // 使用setTimeout倒计时,1秒后,重复调用此函数。,直到cm =0为止,跳出这个函数 setTimeout(function() { cm -= 1000; _msThis.runBack(cm); }, 1000); } else { this.ispay = false } },
如果只是一个单纯的倒计时,可以通过setInterval进行处理,
let time = 1800; setInterval(function(){ time=time-1; var minute=parseInt(time/60); var second=parseInt(time%60); console.log('还剩'+minute+'分'+second+'秒'); },1000);
如果上面的这个倒计时函数放在页面的onload函数中,则每次这个页面加载,比如重新加载小程序的时候,都会进行30分钟倒计时,而我们想要的是,从下订单的那一刻开始进行的30分钟倒计时,所以,还是需要用第一种方式来进行处理。截至日期由后台返给的方式来。
加载全部内容