有一位数字时,秒表不会加零

保罗

我想将时间显示为时间01:02:03:43,但是我得到0:0:00000000000000001:15我累了在dev ** 0:0:0:0中添加了0,但这是行不通的。这是定时器的好代码吗?

var hour = 0;
var min = 0;
var sec = 0;
var miliSec = 0;
var timer;

function callTimer() {
  miliSec++;
  if (miliSec < 100) {
    if (miliSec === 99) {
      miliSec = 0;
      sec++;
      if (sec === 60) {
        sec = 0;
        min++;
        if (min === 60) {
          min = 0;
          hour++
        }
      }
    }
  } else {
    miliSec = 0;
  }

  document.getElementById("#timer").innerHTML = hour + ":" + min + ":" + sec + ":" + miliSec;
}


function start() {
  document.getElementById("#start").disabled = true;
  timer = setInterval(callTimer, 10);
}

function stop() {
  document.getElementById("#start").disabled = false;
  clearInterval(timer);
}

function reset() {
  stop();
  hour = 0;
  min = 0;
  sec = 0;
  miliSec = 0;
  document.getElementById("#timer").innerHTML = hour + ":" + min + ":" + sec + ":" + miliSec;
}

我必须提供有关此问题的更多详细信息,因为验证不允许向我发布该问题。好吧,我写了这个;)

Bonzo花彩

我添加toString().padStart(2, "0")到每个元素。

您可以padStart()在此处了解更多信息https : //developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/padStart

var hour = 0;
var min = 0;
var sec = 0;
var miliSec = 0;
var timer;

function callTimer() {
  miliSec++;
  if (miliSec < 100) {
    if (miliSec === 99) {
      miliSec = 0;
      sec++;
      if (sec === 60) {
        sec = 0;
        min++;
        if (min === 60) {
          min = 0;
          hour++
        }
      }
    }
  } else {
    miliSec = 0;
  }
  /* Add 0 every time -- This does not work because it changes the type from a number to string, causing the unexpected behavior
  if (sec < 10) {
      sec = "0" + sec;
  }else{
      sec;
  }
  */
  document.getElementById("#timer").innerHTML = hour.toString().padStart(2, "0") + ":" + min.toString().padStart(2, "0") + ":" + sec.toString().padStart(2, "0") + ":" + miliSec;
}


function start() {
  document.getElementById("#start").disabled = true;
  clearInterval(timer);//stop any previous interval before starting another
  timer = setInterval(callTimer, 10);
}

function stop() {
  document.getElementById("#start").disabled = false;
  clearInterval(timer);
}

function reset() {
  stop();
  hour = 0;
  min = 0;
  sec = 0;
  miliSec = 0;
  document.getElementById("#timer").innerHTML = hour.toString().padStart(2, "0") + ":" + min.toString().padStart(2, "0") + ":" + sec.toString().padStart(2, "0") + ":" + miliSec;
}
<nav class="controls">
  <a href="#" class="button" id="#start" onclick="start();">START</a>
  <a href="#" class="button" id="#stop" onclick="stop();">STOP</a>
  <a href="#" class="button" id="#clear" onclick="reset();">CLEAR</a>
</nav>
<div id="#timer">00:00:00:0</div>

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使一位数字?

来自分类Dev

从整数中删除最后一位数字,并在python中放入零

来自分类Dev

如何允许EditText中的第一位数字为零(Android)

来自分类Dev

PHP:如何在INSERT STATEMENT上包括第一位数字零

来自分类Dev

Python:在不使用.zfill的情况下在一位数字中添加零

来自分类Dev

如何将零加一位数字(时间)?

来自分类Dev

Excel将我的号码的最后一位数字更改为零

来自分类Dev

重击-在while循环中将零添加到一位数字前

来自分类Dev

查找数字的最后一位数字的最有效方法?

来自分类Dev

在iOS的UITextField中允许一位数字

来自分类Dev

使JTextField仅接受一位数字

来自分类Dev

数字的第一位数

来自分类Dev

在int(Java)中检查一位数字

来自分类Dev

删除最后一位数字之后的字符

来自分类Dev

时钟持续使用一位数字

来自分类Dev

RegEx用一位数字查找单词

来自分类Dev

在iOS的UITextField中允许一位数字

来自分类Dev

从名称中获取最后一位数字

来自分类Dev

在int(Java)中检查一位数字

来自分类Dev

小时和分钟以一位数字出现

来自分类Dev

获取url的最后一位数字

来自分类Dev

最后一位数字为5时四舍五入小数

来自分类Dev

添加多于一位数字时,Printf不对齐

来自分类Dev

带有一位数字模式的“ ls”给我奇怪的结果

来自分类Dev

如何在具有一位数字的月份上扫描“ 0”?

来自分类Dev

GSub删除第一位数字之前的所有字符

来自分类Dev

如何替换除最后一位数字以外的所有字符

来自分类Dev

如何替换除最后一位数字以外的所有字符

来自分类Dev

带有jquery数组的.grep()仅返回最后一位数字

Related 相关文章

热门标签

归档