繁体   English   中英

javascript计时器减去计数

[英]javascript timer minus counting

您好,我想当计时器到达最后期限以停止计数时...并且它停止了,但是当我刷新时以负号计数时像这样http://prntscr.com/9m17mn

我想要当它达到0时保持那样并刷新后

提前致谢

继承人的代码

 <script> 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); } } updateClock(); var timeinterval = setInterval(updateClock,1000); } var deadline = "2016-01-04T18:04:00.000+01:00"; initializeClock('clockdiv', deadline); </script> 

似乎您正在检查是否应该在设置html后停止计时器,这意味着您可能会显示负值:

function updateClock(){
    var t = getTimeRemaining(endtime);
    if(t.total<=0){
      clearInterval(timeinterval);
      daysSpan.innerHTML = '0';
      hoursSpan.innerHTML = '0';
      minutesSpan.innerHTML = '0';
      secondsSpan.innerHTML = '0';
    } else {
      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);
    }

}

像这样的东西:

 <script> 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.total>0)?t.days:"0"; hoursSpan.innerHTML = (t.hours>0)?('0' + t.hours).slice(-2):"00"; minutesSpan.innerHTML = (t.minutes>0)?('0' + t.minutes).slice(-2):"00"; secondsSpan.innerHTML = (t.seconds>0)?('0' + t.seconds).slice(-2):"00"; if(t.total<=0){ clearInterval(timeinterval); } } updateClock(); var timeinterval = setInterval(updateClock,1000); } var deadline = "2016-01-04T18:04:00.000+01:00"; initializeClock('clockdiv', deadline); </script> 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM