Я пытаюсь создать веб-страницу, которая позволяет вам запускать таймер обратного отсчета, когда вы нажимаете кнопку запуска, и позволяет вам переходить к другому маршруту на веб-странице, запускать другой таймер и возвращаться к первую страницу и таймер еще работает. В настоящее время у меня работают кнопки и. Однако я не уверен, как заставить часы не сбрасываться. когда я перехожу на другую страницу. Эта веб-страница в основном написана с Python и Flask, но я использую JavaScript для функции времени. Это единственный JavaScript, с которым я работал, и большая часть его пришла из других сообщений.
<div id=time>
<div><span id="hour"></span>:<span id="minute"></span>:<span id="seconds"></span></div>
<button id="start-btn">Start</button>
<button id="stop-btn">Pause</button>
<button id="reset-btn">Reset</button>
</div>
<script>
let hour = 0;
let minute = 0;
let seconds = 0;
let totalSeconds = 0;
let intervalId = null;
function startTimer() {
++totalSeconds;
hour = Math.floor(totalSeconds /3600);
minute = Math.floor((totalSeconds - hour*3600)/60);
seconds = totalSeconds - (hour*3600 + minute*60);
document.getElementById("hour").innerHTML =hour;
document.getElementById("minute").innerHTML =minute;
document.getElementById("seconds").innerHTML =seconds;
}
document.getElementById('start-btn').addEventListener('click', () => {
intervalId = setInterval(startTimer, 1000);
})
document.getElementById('stop-btn').addEventListener('click', () => {
if (intervalId)
clearInterval(intervalId);
});
document.getElementById('reset-btn').addEventListener('click', () => {
totalSeconds = 0;
document.getElementById("hour").innerHTML = '0';
document.getElementById("minute").innerHTML = '0';
document.getElementById("seconds").innerHTML = '0';
});
</script>