活动倒计时
调用:this.Interval(开始时间,结束时间)
时间格式:"2022-01-05 16:30:50"
Interval(strTime, endTime) {
var strTime = new Date(strTime).getTime()
var endTime = new Date(endTime).getTime()
let now = new Date().getTime(); //当前时间
if (strTime > now) {
this.timeType = 1
// console.log('距离活动开始还有:')
this.timerfunc(strTime, this.timeType)
} else if (now > endTime) {
this.timeType = 2
} else {
// this.toStart = true
this.timeType = 3
this.timerfunc(endTime, this.timeType)
}
},
//倒计时函数
timerfunc(time, type) {
let timer = setInterval(function() {
//当前时间
var startTime = new Date().getTime();
//结束时间
var endTimes = time;
//算出中间差,以毫秒数返回.
var countDown = (endTimes - startTime);
//获取天数
var oDay = parseInt(countDown / 1000 / 60 / 60 / 24);
//获取小时数
var oHour = parseInt(countDown / 1000 / 60 / 60 % 24);
//获取分钟数
var oMinute = parseInt(countDown / 1000 / 60 % 60);
//获取秒数
var oSecond = parseInt(countDown / 1000 % 60);
//获取标签
if(type==1){
var txt = document.querySelector('.toStart');
}
if(type==3){
var txt = document.querySelector('.toEnd');
}
//输出时间
if (oDay < 0 || oHour < 0 || oMinute < 0 || oSecond < 0) {
clearInterval(timer);
this.timeType == 2 ? console.log('活动已结束!') : Interval(strTime, endTime)
return;
}
function num(n) {
return n < 10 ? '0' + n : n;
};
num(9)
this.time = num(oDay) + '天' + num(oHour) + '时' + num(oMinute) + '分' + num(
oSecond) + '秒';
txt.innerHTML = this.time;
}, 1000);
}
效果图: