使用场景:
项目是考试小程序,后台会返给我当前系统时间和考试时间,我需要判断和得到下面几种情况
1.考试未开始(这里就要显示开始考试倒计时,用系统时间减去考试时间)
2.开始考试(考试时间等于系统时间)
3.倒计时(结束时间减去当前时间)
4.结束考试(结束时间等于当前时间)
5.考试事件已过(结束时间大于系统时间)
1.wxTimer下载 wxTimer
2.在使用页面引用
const timer = require('./../../utils/wxTimer.js');
3.使用方法
在data中定义这三个参数
wxTimer: “”,
wxTimers: “”,
wxTimerList: {},
//这里是已经开始考试后倒计时的时间计算
let mss = parseInt(endTime - currentTime) //先计算结束时间减去当前时间
var days = parseInt(mss / (1000 * 60 * 60 * 24));
var hours = parseInt((mss % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
var minutes = parseInt((mss % (1000 * 60 * 60)) / (1000 * 60));
var seconds = (mss % (1000 * 60)) / 1000;
let surplus = hours + ":" + minutes + ":" + seconds; //计算剩余时间
var wxTimer = new timer({
beginTime: surplus,
// beginTime:"00:00:10",
name: 'wxTimer',
complete: function () {
//进入这里代表倒计时结束
that.setData({
show1: true
})
//我在这里做了一个倒计时结束后弹出一个延迟5秒的弹框提示并自动交卷
setTimeout(function () {
that.setData({
show1: false
})
that.onClose()
}, 5000);
}
})
//这里倒计时开始
wxTimer.start(this);
4.渲染
<text>{{wxTimer}}</text>
效果: