倒数计时器达到0时,将其添加到倒数计时器中

马特·欧文

因此,基本上我想做的就是让倒数计时器在达到“ 10”以下时添加一个“ 0”。到目前为止,我已经尝试了一个if语句(在下面的代码中),该语句不起作用。这是我的完整代码:

CountDownTimer('01/1/2017 12:0 AM', 'countdown');
  CountDownTimer('01/1/2017 12:0 AM', 'newcountdown');

  function CountDownTimer(dt, id)
  {
      var end = new Date(dt);
      var _second = 1000;
      var _minute = _second * 60;
      var _hour = _minute * 60;
      var _day = _hour * 24;
      var timer;

      function showRemaining() {
          var now = new Date();
          var distance = end - now;
          if (distance < 0) {
              clearInterval(timer);
              document.getElementById(id).innerHTML = 'EXPIRED!';
              return;
          }
          var days = Math.floor(distance / _day);
          var hours = Math.floor((distance % _day) / _hour);
          var minutes = Math.floor((distance % _hour) / _minute);
          var seconds = Math.floor((distance % _minute) / _second);

          // THIS IS THE "IF" STATEMENT THAT DID NOT WORK, EVERYTHING ELSE IS WORKING
          if (seconds < 10) {
            document.getElementById(id).innerHTML += '0' + seconds + '.';
          }

          document.getElementById(id).innerHTML = days + '.&nbsp;&nbsp;&nbsp;';
          document.getElementById(id).innerHTML += hours + '.&nbsp;&nbsp;&nbsp;';
          document.getElementById(id).innerHTML += minutes + '.&nbsp;&nbsp;&nbsp;';
          document.getElementById(id).innerHTML += seconds + '.';
      }

      timer = setInterval(showRemaining, 1000);
  }
杰拉尔多·富塔多(Gerardo Furtado)

您的代码的问题不是if,它可以正常工作:

if (seconds < 10) {
    document.getElementById(id).innerHTML += '0' + seconds + '.';
}

但是事实是,在此之后,您将覆盖先前的值:

document.getElementById(id).innerHTML += seconds + '.';

一个简单的解决方案是seconds在您的中将其转换为字符串if

if (seconds < 10) {
    seconds = "0" + seconds;
}

这样,您可以在后续的中使用字符串innerHTML

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章