Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Zegarek i data js
Forum PHP.pl > Forum > Po stronie przeglądarki
smok55453
Witam. Zrobiłem skrypt zegarka i daty w js. Oto kod: js
  1. function data_czas()
  2. {
  3. var dzisiaj = new Date();
  4. var godzina = dzisiaj.getHours();
  5. var minuta = dzisiaj.getMinutes();
  6. var sekunda = dzisiaj.getSeconds();
  7. if(godzina < 10)
  8. {
  9. godzina = "'0"+godzina+"'";
  10. }
  11. else
  12. {
  13. godzina = "'"+godzina+"'";
  14. }
  15. if(minuta < 10)
  16. {
  17. minuta = "'0"+minuta+"'";
  18. }
  19. else
  20. {
  21. minuta = "'"+minuta+"'";
  22. }
  23. if(sekunda < 10)
  24. {
  25. sekunda = "'0"+sekunda+"'";
  26. }
  27. else
  28. {
  29. sekunda = "'"+sekunda+"'";
  30. }
  31.  
  32. var dzien = dzisiaj.getDate();
  33. var miesiac = dzisiaj.getMonth();
  34. var rok = dzisiaj.getYear();
  35. if(dzien < 10)
  36. {
  37. dzien = "'0"+dzien+"'";
  38. }
  39. else
  40. {
  41. dzien = "'"+dzien+"'";
  42. }
  43. if(miesiac < 10)
  44. {
  45. miesiac = "'0"+miesiac+"'";
  46. }
  47. else
  48. {
  49. miesiac = "'"+miesiac+"'";
  50. }
  51. if(rok < 10)
  52. {
  53. rok = "'0"+rok+"'";
  54. }
  55. else
  56. {
  57. rok = "'"+rok+"'";
  58. }
  59.  
  60. document.getElementById('pierwsza_cyfra_dnia').innerHTML= dzien.substring(1,2);
  61. document.getElementById('druga_cyfra_dnia').innerHTML= dzien.substring(2,3);
  62. document.getElementById('pierwsza_cyfra_miesiaca').innerHTML= miesiac.substring(1,2);
  63. document.getElementById('druga_cyfra_miesiaca').innerHTML= miesiac.substring(2,3);
  64. document.getElementById('pierwsza_cyfra_roku').innerHTML= rok.substring(1,2);
  65. document.getElementById('druga_cyfra_roku').innerHTML= rok.substring(2,3);
  66. document.getElementById('pierwsza_cyfra_godziny').innerHTML= godzina.substring(1,2);
  67. document.getElementById('druga_cyfra_godziny').innerHTML= godzina.substring(2,3);
  68. document.getElementById('pierwsza_cyfra_minuty').innerHTML= minuta.substring(1,2);
  69. document.getElementById('druga_cyfra_minuty').innerHTML= minuta.substring(2,3);
  70. document.getElementById('pierwsza_cyfra_sekundy').innerHTML= sekunda.substring(1,2);
  71. document.getElementById('druga_cyfra_sekundy').innerHTML= sekunda.substring(2,3);
  72.  
  73.  
  74.  
  75. setTimeout(data_czas(), 1000);
  76. }
.
Kod html:
  1. <script type="text/javascript" src="dodatki.js"></script>
  2. </head>
  3. <body onload="data_czas();">
  4. <tr>
  5. <td colspan="3">
  6. <center>Data:</center>
  7. </td>
  8. </tr>
  9. <tr>
  10. <td class="dodatkistyle" id="pierwsza_cyfra_dnia"><center></center><script></script></td>
  11. <td class="dodatkistyle" id="druga_cyfra_dnia"><script></script></td>
  12. <td>-</td>
  13. <td class="dodatkistyle" id="pierwsza_cyfra_miesiaca"><script></script></td>
  14. <td class="dodatkistyle" id="druga_cyfra_miesiaca"><script></script></td>
  15. <td>-</td>
  16. <td class="dodatkistyle" id="pierwsza_cyfra_roku"><script></script></td>
  17. <td class="dodatkistyle" id="druga_cyfra_roku"><script></script></td>
  18. </tr>
  19. <tr>
  20.  
  21. </tr>
  22. <tr>
  23. <td colspan="3">
  24. <center>Godzina:</center>
  25. </td>
  26. </tr>
  27. <tr>
  28. <td class="dodatkistyle" id="pierwsza_cyfra_godziny"><script></script></td>
  29. <td class="dodatkistyle" id="druga_cyfra_godziny"><script></script></td>
  30. <td>:</td>
  31. <td class="dodatkistyle" id="pierwsza_cyfra_minuty"><script></script></td>
  32. <td class="dodatkistyle" id="druga_cyfra_minuty"><script></script></td>
  33. <td>:</td>
  34. <td class="dodatkistyle" id="pierwsza_cyfra_sekundy"><script></script></td>
  35. <td class="dodatkistyle" id="druga_cyfra_sekundy"><script></script></td>
  36. </tr>
  37. </table>
  38.  
  39. </body>
  40. </html>

Teoretycznie skrypt powinien być uruchamiany co sekundę i zmieniać mi cyfry na zegarku. Tymczasem gdy uruchomię stronę ze skryptem w konsoli wyświetla mi taki oto błąd:
Kod
RangeError: Maximum call stack size exceeded


Czym to może być spowodowane? Proszę o pomoc.
nospor
nie: setTimeout(data_czas(), 1000);
a: setTimeout(data_czas, 1000);
Pojecie CALLBACK sie klania
smok55453
Dzięki. Nie zauważyłem tego biggrin.gif
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.