Autor | Zpráva | ||
---|---|---|---|
Eflyax Profil |
#1 · Zasláno: 24. 5. 2011, 20:40:16
Ahoj, nemůžu vyřešit následující problém.
Do textového pole se mi zapíše nějáká číselná hodnota, například 3567 -> což je počet sekund. Potřebuji v javascriptu vytvořit aktuální čas, přičíst k němu počet sekund (3567) a odpočítávat ve formátu H:M:S, kolik ještě zbývá času. Takže pokud ve 12:00 bude v textové poli 420 (7 minut). Bude se mi odpočítávat: 0:06:59 Už si s tím vůbec nevim rady :-( |
||
Eflyax Profil |
#2 · Zasláno: 24. 5. 2011, 21:01:16
|
||
Keeehi Profil |
#3 · Zasláno: 24. 5. 2011, 21:04:15
Eflyax:
Pro budoucí generace by bylo pěkné napsat jak jsi to vlastně vyřešil. |
||
Eflyax Profil |
#4 · Zasláno: 25. 5. 2011, 21:17:00
Vyřešil jsem to následujícím způsobem:
PHP mi vygeneruje textové pole a vloží do něj počet sekund. Při načtení stránky se mi v javascriptu spustí následující funkce: function odpočet() { i = document.prace.odpocitejcas.value; // do proměnné "i" se nastaví počet sekund z textového pole setInterval("if(i == 0 || i <0) {window.location.href='##odkaz##'}; if(i != 0){ i = i -1};" ,1000); // pomocí "setInterval" se každou sekundu sníží "i" dekrementuje (pokud se nerovná nule), pokud je rovné nule nebo záporné, proběhne přesměrování setInterval("h = Math.floor((i/60)/60); m = Math.floor((i/60)%60); s = (i % 60) % 60; document.getElementById('odpocet').innerHTML = h+'<b>:</b>'+m+'<b>:</b>'+s; " ,1000); //v tomto intervalu se každou sekundu vezme hodota "i" a rozdělí se na hodiny, minuty a sekundy -> které se postupně odpočítavají } Možná to šlo vyřešit i jiným způsobem ale tohle mi naprosto vyhovuje. Chtěl jsem halvně, aby se odpočítávání nemohlo ovlivnit přetočením času na uživatelovo PC - samozřejmě i kdyby se mu to nějak povedlo, mám to přes PHP ohlídané. |
||
_es Profil |
#5 · Zasláno: 25. 5. 2011, 22:46:43
|
||
Eflyax Profil |
#6 · Zasláno: 26. 5. 2011, 19:42:47
_es:
Ano děkuji, opravím si to :-) |
||
Časová prodleva: 14 let
|
0