Zadejte hledaný výraz...

Javascript neumí počítat?

V html mám input pro čas:
" />
Obnovování má zajistit tato javascriptová funkce (volaná při načtení dokumentu).
function serverTime(){
var zdroj = document.st.tm.value;
delka = zdroj.length;
if(delka == 7){
h = parseInt(zdroj.substring(0,1));
m = parseInt(zdroj.substring(2,4));
s = parseInt(zdroj.substring(5,7));
}
if(delka == 8){
h = parseInt(zdroj.substring(0,2));
m = parseInt(zdroj.substring(3,5));
s = parseInt(zdroj.substring(6,8));
}
s++;
if(s == 60){ m++; s = 0; }
if(m == 60){ h++; m = 0; }
if(parseInt(s) < 10){ s = "0"+s; }
if(parseInt(m) < 10){ m = "0"+m; }
cas = h+":"+m+":"+s;
document.st.tm.value = cas;
setTimeout(serverTime, 1000);
}
Script funguje dobře, jenže ve chvíli kdy je čas např: 12:10:08 pak následuje 12:10:01 .. tedy že z 8 se vždy vrací na 1. To samé udělá u 9 (pokud osmičku přeskočím). Od 10 už to jde zase v pohodě..
Absolutně nechápu čím to může být.
21. 8. 2009 15:05:45
https://webtrh.cz/diskuse/javascript-neumi-pocitat#reply358549
milan
verified
rating uzivatele
21. 8. 2009 15:26:54
Klasická chyba začátečníka.
Opravdu si myslíš, že víš, jak se používá funkce parseInt ???
21. 8. 2009 15:26:54
https://webtrh.cz/diskuse/javascript-neumi-pocitat#reply358548
Kamil Vavra
verified
rating uzivatele
(16 hodnocení)
21. 8. 2009 15:28:54
Snad bude vyhovovat:
function Time() {
var oHodiny = document.getElementById('hodiny');
var d = new Date();
var h = d.getHours();
var min = d.getMinutes();
var sec = d.getSeconds();
var TimeValue = h;
TimeValue += ((min < 10) ? ":0" : ":") + min;
TimeValue += ((sec < 10) ? ":0" : ":") + sec;
oHodiny.innerHTML = TimeValue;
window.setTimeout("Time()",1000);
}
21. 8. 2009 15:28:54
https://webtrh.cz/diskuse/javascript-neumi-pocitat#reply358547
milan
verified
rating uzivatele
21. 8. 2009 15:31:41
Správné řešení na nesprávný problém. Nejdřív se pořádně podívej, čeho chce Ondra dosáhnout!
21. 8. 2009 15:31:41
https://webtrh.cz/diskuse/javascript-neumi-pocitat#reply358546
Petr Soukup
verified
rating uzivatele
(5 hodnocení)
21. 8. 2009 15:38:51
Protože 08 není to samé jako 8 ;) Ta nula na začátku to přepne do osmičkové soutavy
21. 8. 2009 15:38:51
https://webtrh.cz/diskuse/javascript-neumi-pocitat#reply358545
Napsal Souki;346465
Protože 08 není to samé jako 8 ;) Ta nula na začátku to přepne do osmičkové soutavy
Díky chlape! Na tohle bych sám napřišel ...
23. 8. 2009 21:12:27
https://webtrh.cz/diskuse/javascript-neumi-pocitat#reply358544
Pro odpověď se přihlašte.
Přihlásit