你好,我从以下网址获取了倒计时计时器代码:
https://codepen.io/SitePoint/pen/MwNPVq,
并进行了修改:
function getTimeRemaining(endtime) {
var t = Date.parse(endtime) - Date.parse(new Date());
var seconds = Math.floor((t / 1000) % 60);
var minutes = Math.floor((t / 1000 / 60) % 60);
return {
'total': t,
'minutes': minutes,
'seconds': seconds
};
}
function initializeClock(id, endtime) {
var clock = document.getElementById(id);
var minutesSpan = clock.querySelector('.minutes');
var secondsSpan = clock.querySelector('.seconds');
function updateClock() {
var t = getTimeRemaining(endtime);
minutesSpan.innerHTML = ('0' + t.minutes).slice(-2);
secondsSpan.innerHTML = ('0' + t.seconds).slice(-2);
if (t.total <= 0) {
clearInterval(timeinterval);
}
if(t.minutes == 0 && t.seconds ==0) {
console.log('in this func');
deadline = new Date(deadline.getTime() + 10*60000);
}
}
updateClock();
var timeinterval = setInterval(updateClock, 1000);
}
deadline = new Date(Date.parse('Fri Mar 30 2018 17:03:00 GMT+0530'));
initializeClock('clockdiv', deadline);
我所做的更改是,我检查了分钟和秒数是否都为0,然后将变量“deadline”更新为新时间。倒计时器工作正常,但当它达到0:0时,它会进入函数并停止一切。
clearInterval(timeinterval);
will stop the interval (execution of theupdateClock
function once every second). Just remove that statement and the interval won't stop. Also, you should resetendtime
instead ofdeadline
- Titusif (t.total <= 0) { clearInterval(timeinterval); }
- epascarello