Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript]Zegarek
Forum PHP.pl > Forum > Przedszkole
stefik4
Witam mam następujący kod zegarka:

  1. function odliczaj()
  2. {
  3. czas = window.setTimeout("odliczaj();", 1000);
  4. blok = document.getElementById("zegar");
  5. dod = 9;
  6. secs++;
  7. if (secs==60)
  8. {
  9. secs = 0;
  10. mins++;
  11. if (mins==60)
  12. {
  13. mins = 0;
  14. hours++;
  15. if (hours==24)
  16. {
  17. hours = 0;
  18. }
  19. }
  20. }
  21. zerohours = (hours < 10) ? "0" : "";
  22. zeromins = (mins < 10) ? "0" : "";
  23. zerosecs = (secs < 10) ? "0" : "";
  24. wyswietl = zerohours + hours + ":" + zeromins + mins + ":" + zerosecs + secs;
  25. blok.innerHTML = wyswietl;
  26. }
  27. now = new Date();
  28. hours = now.getHours();
  29. mins = now.getMinutes()-9;
  30. secs = now.getSeconds()-16;
  31. czas = window.setTimeout("odliczaj();", 0);
  32. document.write("<div id='zegar'>");


i tam te -9 minut i -16 sek mam aby czas był zgodny z czasem serwera a nie z czasem kompa.
Tylko jak jest mała minuta to wywala mi coś takiego tzn wyśietla mi minute -5 jakby:


I czy idzie jakoś tego uniknąć, lub w tym skrypcie pobierać od razu czas z serwera, aby się odliczał ?
Pikuss
Jedną z możliwości jaka mi przychodzi do głowy to ta, że dzieje się tak dlatego bo odejmujesz od minut 9 a od sekund 16, a nigdzie w skrypcie nie masz wziętego tego pod uwagę że na komputerze może ktoś mieć 19:04:03 i wtedy jak odświeżasz stronę to robi Ci 4 - 9 i wychodzi Ci -5 minut. Musisz wziąć pod uwagę:

sekundy - 16 <- jeżeli będzie mniejsze od 0 to wtedy musisz odjąć od minut 1
minuty - 9 <- jeżeli będą mniejsze od 0 to odejmujesz od godziny 1 i od 60 minut odejmujesz tyle minut ile masz na minusie czyli poprostu dodajesz 60 + (-5)
godziny <- tu tak samo musisz wziąć wtedy pod uwagę że może być 00:00 tak więc przy odjęciu 9 minut musi odjąć jedną godzinę i tak jak wyżej 60 - 9 czyli powinno być 23:51

Zostawiam Ci rozwiązanie teoretyczne większa satysfakcja jak się samemu zrobi smile.gif dasz radę, ale jakbyś miał problemy większe to daj znać.
#luq
Cytat(stefik4 @ 20.04.2010, 21:07:31 ) *
i tam te -9 minut i -16 sek mam aby czas był zgodny z czasem serwera a nie z czasem kompa.

sciana.gif

Cytat(stefik4 @ 20.04.2010, 21:07:31 ) *
lub w tym skrypcie pobierać od razu czas z serwera, aby się odliczał ?


Kod
var d = new Date( <?php mktime(); ?> );
zegarek84
luknij na cały temat - masz tam gotowy skrypt też - a gdzie?? poszukaj ;D
http://forum.php.pl/index.php?showtopic=136638
Cytat(stefik4 @ 20.04.2010, 21:07:31 ) *
i tam te -9 minut i -16 sek mam aby czas był zgodny z czasem serwera a nie z czasem kompa.

błąd ;p - to zadziała TYLKO na Twoim kompie winksmiley.jpg- przestaw zegarek systemowy - po tym co napisałeś nawet na skrypt nie patrze ;p
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.