Есть ли способ сбросить performance.now? - PullRequest
0 голосов
/ 05 августа 2020

Надеюсь, у вас всех удачный день!

Меня попросили сделать таймер в javascript, и я подумал, что использование performance.now будет хорошей идеей, но когда я пытаюсь сбросить таймер, таймер остается на месте, а не становится равным нулю.

let time = performance.now();
function initInterval(){ 
  let taken = performance.now() - time;
  let current = (time += taken);
  setInterval(function () {
    // time calculation to make it easy to read, display 
    // and eventListener to stop, end of the function
  }
}

Я хочу сбросить таймер с помощью вызова функции, но он продолжает выдавать те же числа перед остановкой интервала.

function resetInterval(){
  closebutton.addEventListener('click', () => { 
    staticTimer.innerHTML = "00:00:00"
    initInterval()
    console.log('beep');
  })
}

1 Ответ

0 голосов
/ 05 августа 2020

Нет возможности сбросить performance.now(). Что вы можете сделать, так это сохранить текущее значение performance.now() при запуске таймера и просто вычесть его после. Глядя на ваш код, просто снова установите ´time = performance.now () ´, и все готово.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...