Приостановить секундомер и возобновить работу по таймеру, который запускается на нескольких страницах одновременно - PullRequest
0 голосов
/ 02 августа 2020

У меня есть приведенный ниже код, но я хочу, чтобы кнопка паузы приостанавливала и возобновляла таймер. На данный момент сценарий позволяет ему продолжать работу на нескольких страницах, что я и хочу. пауза и возобновление.

var timer;
var startTime;

function start() {
  startTime = parseInt(localStorage.getItem('startTime') || Date.now());
  localStorage.setItem('startTime', startTime);
  timer = setInterval(clockTick, 100);
}

function stop() {
  clearInterval(timer);
}

function reset() {
  clearInterval(timer);
  localStorage.removeItem('startTime');
  document.getElementById('display-area').innerHTML = "00:00:00.000";
}

function clockTick() {
  var currentTime = Date.now(),
    timeElapsed = new Date(currentTime - startTime),
    hours = timeElapsed.getUTCHours(),
    mins = timeElapsed.getUTCMinutes(),
    secs = timeElapsed.getUTCSeconds(),
    ms = timeElapsed.getUTCMilliseconds(),
    display = document.getElementById("display-area");

  display.innerHTML =
    (hours > 9 ? hours : "0" + hours) + ":" +
    (mins > 9 ? mins : "0" + mins) + ":" +
    (secs > 9 ? secs : "0" + secs) + "." +
    (ms > 99 ? ms : ms > 9 ? "0" + ms : "00" + ms);
};

var stopBtn = document.getElementById('stop_btn');

stopBtn.addEventListener('click', function () {
  stop();
})
start();
<div>
  <textarea id="display-area">00:00:00.000</textarea>
</div>
<input id="stop_btn" type="button" value="stop">
<input id="pause_btn" type="button" value="pause">
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...