jquery - 计时器格式不正确

标签 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 秒。这是我的代码和代码笔

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

最佳答案

您需要对 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,但是切片取了最后两个。

关于jquery - 计时器格式不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28152012/

相关文章:

javascript - 模糊事件在 FireFox 中不起作用

javascript - 从给定索引 javascript 的表中删除列

javascript - 如何从圆的最外圆弧画线

html - 覆盖文本对齐属性

javascript - 使用 jQuery 编写垂直菜单

jquery - 导航悬停不起作用

Jquery 前面没有类输入 = TYPE

css - 当宽度为 100% 时向元素添加滚动条

html - Mobile Bootstrap Carousel - 字体大小调整

html - css渐变背景按钮