javascript - 在html中向计时器添加毫秒

标签 javascript html

有什么方法可以为我的计时器添加毫秒数吗?

我目前正在使用此计时器,但它仅以秒为单位计数。

var count=99;
    var counter=setInterval(timer, 1000); //1000 will  run it every 1 second

    function timer(){
      count=count-1;

      if (count <= 0){
        clearInterval(counter);
        return;
      }
      document.getElementById("timer").innerHTML=count + " seconds"; // watch for spelling
    }

谢谢

最佳答案

计时器不会以毫秒精度运行 - 不仅低于标准 JS 最小超时,计时器事件可能会排队以及各种其他问题。无论如何(没有双关语)你实际上看不到计时器每秒计数 1000 次。

只需使用 window.requestAnimationFrame 即可,并显示传递给该函数的时间与计时器的引用开始时间之间的差异。

var timer = document.getElementById('timer');

var expires = +new Date() + 10000;

(function update() {
  var now = +new Date();
  var togo = expires - now;
  if (togo > 0) {
    timer.innerHTML = togo;
    window.requestAnimationFrame(update);
  } else {
    timer.innerHTML = 0;
  }
})();
<div id="timer"></div>

关于javascript - 在html中向计时器添加毫秒,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26432305/

相关文章:

javascript - 变量 x 曾经是真的吗?

javascript - 回调参数搞乱了ajax调用?

html - bootstrap 示例是有效的 HTML

javascript - jQuery 发送并显示每行文本区域的 ajax 结果

charts - 人力车-js图表库: Need strings instead of numbers on axes

javascript - 滚动时逐个元素跳转

javascript - 将项目添加到下拉框

jquery - 使用 jQuery 的 .load() 加载页面

javascript - 如何使用javascript获取表的td值

javascript - 如何在组合中创建代码?