计时器格式不正确

时间:2015-01-26 14:26:24

标签: jquery html css

我目前有一个计时器,它可以完全按照我想要的方式运行,除非它倒计时它显示2:0时显示2:00。它还显示1:00,1:01,1:02等1:0,1:1,1:2等。但是1:59到1:11和0:11到0:59会正确显示。基本上它正确地显示0-9秒显示。这是我的代码和codepen

JS

 $(function () {
  var $startTimer = $('#startTimer');
  var $timerDisplay = $('#timerDisplay');
  var time = 120;

  $timerDisplay.hide();

  $startTimer.click(function () {
    $startTimer.prop('disabled', true);
    $timerDisplay.show();
    var timeRemaining = time;
     var intervalId = setInterval(function () {
     var timeStamp = Math.floor(timeRemaining/60) + ':' +    timeRemaining%60;
       $timerDisplay.text(timeStamp);
         if (timeRemaining === 0) {
         clearInterval(intervalId);
        $timerDisplay.fadeOut();
        alert('Time is up, please submit a vote :)');
        $startTimer.prop('disabled', false);
        } else {
        timeRemaining--;
      }
    }, 1000);
  });
});

HTML

<div id="timerDisplay"></div>
<button id="startTimer">Start Timer</button>

这是一个codepen http://codepen.io/Chevex/pen/RNomGG

1 个答案:

答案 0 :(得分:0)

您需要填充timeRemaining%60

指定的数字

有许多方法可以在Javascript中填零。

对于此应用程序,具体而言,我建议替换:

var timeStamp = Math.floor(timeRemaining/60) + ':' +    timeRemaining%60;

var seconds = timeRemaining%60;
seconds = ("0" + seconds).slice (-2);
var timeStamp = Math.floor(timeRemaining/60) + ':' +  seconds;

这是通过零填充每个变量秒,然后取最后两位数 - 例如0变为00,但57变为057,但切片会占据最后两个。