Jestem początkujący w JSie i mam małe pytanie.
Mam taki skrypt, który tworzy na mojej stronie odliczanie czasu od 45 minut w dół. Gdy dojdzie do zera to powoduje wylogowanie.
Chciałem przy użyciu zdarzenia onClick doprowadzić do sytuacji, że można bez przeładowania strony kliknąć w element na stronie i to nam powoduje wyzerowanie licznika oraz liczenie 5 minut do wylogowania.
Nie wiem co robie źle bo gdy wywołuje zdarzenie onclick to na stronie liczniki dublują się 45 minut nadal jest odliczane a dodatkowo uruchamia się drugi licznik, który liczy 5 minut.
Może ktoś mi podpowiedzieć jak rozwiązać ten problem. Nie wiem jak wygasić odliczanie 45 minut w chwili gdy zaczynam odliczanie 5 minut.
function startTimer(duration, display) { var start = Date.now(), diff, minutes, seconds; function timer() { diff = duration - (((Date.now() - start) / 1000) | 0); minutes = (diff / 60) | 0; seconds = (diff % 60) | 0; minutes = minutes < 10 ? "0" + minutes : minutes; seconds = seconds < 10 ? "0" + seconds : seconds; display.textContent = minutes + ":" + seconds; if (diff <= 0) { window.location = "./error/logout.html"; } }; timer(); var IntervalId = setInterval(timer, 1000); } window.onload = function restartTimer2() { var fiveMinutes = 60 * 45, display = document.querySelector('#time'); startTimer(fiveMinutes, display); document.getElementById("restartTimer").onclick = function restartTimer2() { clearInterval(window.IntervalId); var fiveMinutes = 60 * 5, display = document.querySelector('#time'); startTimer(fiveMinutes, display); } };