[英]javascript countdown timer restart after every 10 minutes
Hi i got the countdown timer code from : 嗨,我从倒数计时器代码:
https://codepen.io/SitePoint/pen/MwNPVq , https://codepen.io/SitePoint/pen/MwNPVq ,
and have modified as : 并修改为:
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);
what change, i have done is, i have checked if minutes and seconds both are 0, then the variable 'deadline' should be updated with new time. 我做了什么改变,我已经检查了分钟和秒都是0,那么变量'deadline'应该用新的时间更新。 The countdown timer works fine but as it hits 0:0, it enters the function and everything stops.
倒计时器工作正常,但当它达到0:0时,它进入功能,一切都停止。
You need to initialize clock again when it hits 0:0
( updated pen ) 当它达到
0:0
时,你需要再次初始化时钟( 更新后的笔 )
if (t.minutes == 0 && t.seconds == 0) {
console.log('in this func');
deadline = new Date(deadline.getTime() + 10 * 60000);
initializeClock('clockdiv', deadline); //added this line
}
Demo 演示
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); var hours = Math.floor((t / (1000 * 60 * 60)) % 24); var days = Math.floor(t / (1000 * 60 * 60 * 24)); return { 'total': t, 'days': days, 'hours': hours, 'minutes': minutes, 'seconds': seconds }; } function initializeClock(id, endtime) { var clock = document.getElementById(id); var daysSpan = clock.querySelector('.days'); var hoursSpan = clock.querySelector('.hours'); var minutesSpan = clock.querySelector('.minutes'); var secondsSpan = clock.querySelector('.seconds'); function updateClock() { var t = getTimeRemaining(endtime); daysSpan.innerHTML = t.days; hoursSpan.innerHTML = ('0' + t.hours).slice(-2); 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); initializeClock('clockdiv', deadline); //added this line } } updateClock(); var timeinterval = setInterval(updateClock, 1000); } var deadline = new Date(Date.parse(new Date()) + 1 * 1 * 1 * 6 * 1000); initializeClock('clockdiv', deadline);
body { text-align: center; background: #00ECB9; font-family: sans-serif; font-weight: 100; } h1 { color: #396; font-weight: 100; font-size: 40px; margin: 40px 0px 20px; } #clockdiv { font-family: sans-serif; color: #fff; display: inline-block; font-weight: 100; text-align: center; font-size: 30px; } #clockdiv>div { padding: 10px; border-radius: 3px; background: #00BF96; display: inline-block; } #clockdiv div>span { padding: 15px; border-radius: 3px; background: #00816A; display: inline-block; } .smalltext { padding-top: 5px; font-size: 16px; }
<h1>Countdown Clock</h1> <div id="clockdiv"> <div> <span class="days"></span> <div class="smalltext">Days</div> </div> <div> <span class="hours"></span> <div class="smalltext">Hours</div> </div> <div> <span class="minutes"></span> <div class="smalltext">Minutes</div> </div> <div> <span class="seconds"></span> <div class="smalltext">Seconds</div> </div> </div>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.