Witam. Zrobiłem skrypt zegarka i daty w js. Oto kod: js
function data_czas()
{
var dzisiaj = new Date();
var godzina = dzisiaj.getHours();
var minuta = dzisiaj.getMinutes();
var sekunda = dzisiaj.getSeconds();
if(godzina < 10)
{
godzina = "'0"+godzina+"'";
}
else
{
godzina = "'"+godzina+"'";
}
if(minuta < 10)
{
minuta = "'0"+minuta+"'";
}
else
{
minuta = "'"+minuta+"'";
}
if(sekunda < 10)
{
sekunda = "'0"+sekunda+"'";
}
else
{
sekunda = "'"+sekunda+"'";
}
var dzien = dzisiaj.getDate();
var miesiac = dzisiaj.getMonth();
var rok = dzisiaj.getYear();
if(dzien < 10)
{
dzien = "'0"+dzien+"'";
}
else
{
dzien = "'"+dzien+"'";
}
if(miesiac < 10)
{
miesiac = "'0"+miesiac+"'";
}
else
{
miesiac = "'"+miesiac+"'";
}
if(rok < 10)
{
rok = "'0"+rok+"'";
}
else
{
rok = "'"+rok+"'";
}
document.getElementById('pierwsza_cyfra_dnia').innerHTML= dzien.substring(1,2);
document.getElementById('druga_cyfra_dnia').innerHTML= dzien.substring(2,3);
document.getElementById('pierwsza_cyfra_miesiaca').innerHTML= miesiac.substring(1,2);
document.getElementById('druga_cyfra_miesiaca').innerHTML= miesiac.substring(2,3);
document.getElementById('pierwsza_cyfra_roku').innerHTML= rok.substring(1,2);
document.getElementById('druga_cyfra_roku').innerHTML= rok.substring(2,3);
document.getElementById('pierwsza_cyfra_godziny').innerHTML= godzina.substring(1,2);
document.getElementById('druga_cyfra_godziny').innerHTML= godzina.substring(2,3);
document.getElementById('pierwsza_cyfra_minuty').innerHTML= minuta.substring(1,2);
document.getElementById('druga_cyfra_minuty').innerHTML= minuta.substring(2,3);
document.getElementById('pierwsza_cyfra_sekundy').innerHTML= sekunda.substring(1,2);
document.getElementById('druga_cyfra_sekundy').innerHTML= sekunda.substring(2,3);
setTimeout(data_czas(), 1000);
}
.
Kod html:
<body onload="data_czas();">
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.