Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [JavaScript]Odliczanie czasu, Restart licznika
Kamils2
post 13.01.2017, 04:22:22
Post #1





Grupa: Zarejestrowani
Postów: 158
Pomógł: 0
Dołączył: 13.09.2006
Skąd: Puławy

Ostrzeżenie: (0%)
-----


Hey
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.

  1. function startTimer(duration, display) {
  2. var start = Date.now(),
  3. diff,
  4. minutes,
  5. seconds;
  6. function timer() {
  7. diff = duration - (((Date.now() - start) / 1000) | 0);
  8.  
  9. minutes = (diff / 60) | 0;
  10. seconds = (diff % 60) | 0;
  11.  
  12. minutes = minutes < 10 ? "0" + minutes : minutes;
  13. seconds = seconds < 10 ? "0" + seconds : seconds;
  14.  
  15. display.textContent = minutes + ":" + seconds;
  16.  
  17. if (diff <= 0) {
  18. window.location = "./error/logout.html";
  19. }
  20. };
  21.  
  22.  
  23. timer();
  24. var IntervalId = setInterval(timer, 1000);
  25. }
  26.  
  27. window.onload = function restartTimer2() {
  28. var fiveMinutes = 60 * 45,
  29. display = document.querySelector('#time');
  30. startTimer(fiveMinutes, display);
  31.  
  32. document.getElementById("restartTimer").onclick = function restartTimer2() {
  33. clearInterval(window.IntervalId);
  34. var fiveMinutes = 60 * 5,
  35. display = document.querySelector('#time');
  36. startTimer(fiveMinutes, display);
  37. }
  38.  
  39.  
  40. };
  41.  


Ten post edytował Kamils2 13.01.2017, 04:22:55
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 27.04.2025 - 07:37