Autor | Zpráva | ||
---|---|---|---|
Fisak Profil |
#1 · Zasláno: 23. 8. 2013, 19:44:25 · Upravil/a: Fisak
Dobrý den,
mám problém se JS scriptem který mi má počítat aktuální uplynulý čas od určitého data. Bohužel v jiných prohlížečích mi to píše NaN:NaN. Nevíte čím by to mohlo být? Předem děkuji za Vaše odpovědi. echo "</span></div><div class=\"time\"><span id=\"timegame\"></span></div></div>"; echo "<script type=\"text/javascript\"> var elapsedTime = (function(){ var sec_hours = (1000*60*60); var inv_sec_hours = 1/sec_hours; var sec_minutes = (1000*60); var inv_sec_minutes = 1/sec_minutes; var floor = Math.floor; function elapsedTime(date){ var time = date.getTime(), actual_time = (new Date()).getTime(); var diff = actual_time - time; var hours = floor(diff * inv_sec_hours); diff -= hours*sec_hours; var minutes = floor(diff*inv_sec_minutes); diff -= minutes*sec_minutes; var seconds = floor(diff*0.001); diff -= seconds * 1000; if (hours < 10) {hours = \"0\"+hours.toString();} if (minutes < 10) {minutes = \"0\"+minutes.toString();} if (seconds < 10) {seconds = \"0\"+seconds.toString();} return { hours:hours, minutes:minutes, seconds:seconds }; }; return elapsedTime; })(); function countdown(el,time){ var out = elapsedTime(time); var time_minutes = (out.hours*60) + out.minutes; el.innerHTML = time_minutes+':'+out.seconds; setTimeout(function(){ countdown(el,time); },1000); }; countdown( document.getElementById('timegame'), new Date('".$row_game_score->time."') ); </script>"; A ještě pokud je čas měnší než 60 minut tak se ukazují minuty s třemi ciframy.. tzn. 000:50 .. nevíte jak toto napravit? Předem děkuji za rady.. |
||
Chamurappi Profil |
#2 · Zasláno: 23. 8. 2013, 23:53:25
Reaguji na Fisaka:
Proč sem vkládáš PHP kód? Copak nevíš, že PHP se vykonává na straně serveru a o funkčnosti a nefunkčnosti JS rozhoduje jen kód, který se zpracovává v prohlížeči? „Bohužel v jiných prohlížečích mi to píše NaN:NaN.“ Nejspíš neplatným datumem. Dáváš do toho řetězce v new Date něco, co nevypadá jako datum.
„tak se ukazují minuty s třemi ciframy.. tzn. 000:50 .. nevíte jak toto napravit?“ Nevypisuj v takovém případě hodiny. Ta odpočítávací funkce je dost praštěná, vrací objekt, ve kterém jsou v závislosti na počtu cifer hodin/minut/sekund buď čísla, nebo řetězce. |
||
1Pupik1989 Profil |
#3 · Zasláno: 24. 8. 2013, 10:36:35
Jo, to jsem upravil svoji funkci. Ta vrací datum Včetně roků a měsíců. Ty hrubky tam jsou naschvál, aby kód nelepil, ale přemýšlel nad ním. O tom datum v parametru jsem mu taky psal a dokonce i o JavaScriptu v Php, že je fuj.
|
||
Časová prodleva: 11 let
|
0