Javascript暂停计时器困境......无法计算它

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Javascript暂停计时器困境......无法计算它相关的知识,希望对你有一定的参考价值。

我已经构建了一系列计时器,这些计时器旨在启动,暂停和恢复。当计时器计时时,数字会在我的页面上动态更新。我遇到的问题是弄清楚如何让计时器在我暂停之前从它停止的位置开始。我可以让它从头开始重新启动,但我不确定如何获取暂停的Date.now()值,并将其用于公式以显示正确的值。我无法弄明白这将是一件愚蠢的事情。

function ticking2(num) {

 //IF TIMER IS PAUSED CANCEL THE ANIMATION FRAME
  if (timerObjArray[num].paused == true) {

    timerObjArray[num].restartTime = Date.now();

    cancelAnimationFrame(id);

  } else if (timerObjArray[num].paused == false) {

    timerObjArray[num].initialTime = Date.now()

          if (timerObjArray[num].restartTime != 0) {


//THIS IS THE LINE WHERE I AM HAVING TROUBLE

            timerObjArray[num].milli = ((timerObjArray[num].initialTime - timerObjArray[num].initialDate) - (timerObjArray[num].initialTime - timerObjArray[num].restartTime)) / 1000;


          } else {


            timerObjArray[num].milli = ((timerObjArray[num].initialTime - timerObjArray[num].initialDate  ) / 1000);

          }

          //THIS FUNCTION TAKES THE MS VALUE AND CONVERTS IT TO HH:MM:SS
          convert(num, timerObjArray[num].milli * 1000);


    id = requestAnimationFrame(function() {

      ticking2(num);

    });

    }

}

谢谢您的帮助。

以上是关于Javascript暂停计时器困境......无法计算它的主要内容,如果未能解决你的问题,请参考以下文章

javascript定时器如何暂停及继续

单独线程上的可暂停计时器

暂停 jquery 倒计时按钮

javascript如何屏蔽鼠标双击,或将双击变成单击

JavaScript计时器

JavaScript 计时事件