Вы можете достичь таймера обратного отсчета, расширив вычисление clockTick()
так, чтобы timeElapsed
вычислялось как "время начала, минус количество времени, прошедшее с начала обратного отсчета" .
Вводя countdownDuration
как currentTime - startTime
, мы можем затем создать таймер отсчета, который отсчитывает от startTime
до:
countdownDuration = currentTime - startTime
timeElapsed = startTime - countdownDuration
Это может быть введено в ваш код следующим образом:
function clockTick() {
const currentTime = Date.now(),
countdownDuration = currentTime - startTime,
timeElapsed = new Date(startTime - countdownDuration),
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);
};