Autor | Zpráva | ||
---|---|---|---|
argonisius Profil * |
Dobrý den, předem se omlouvám - s javascriptem začínám. Vytvořil jsem si jednoduchou funkce, která by měla převést čas (např. 16:30) na mituty. Zde je:
<script type="text/javascript"> /* <![CDATA[ */ // Funkce pro převod času na minuty function cas2min(cas) { cas = cas.split(":"); min = cas[0]*60+cas[1]; return min; } document.write( cas2min(16:41) ); /* ]]> */ </script> Bohužel nefunguje... nevíte, kde je chyba? |
||
argonisius Profil * |
#2 · Zasláno: 22. 12. 2009, 19:24:37
Tak, první chyby, co jsem objevil byla ta, že prvky pole nejsou brána jako čísla, nejde je tedy sčítat. Teď to vypadá takto.
<script type="text/javascript"> /* <![CDATA[ */ // Funkce pro převod času na minuty function cas2min(cas) { cas = cas.split(":"); min = parseInt(cas[0]) * 60 + parseInt(cas[1]); return min; } document.write(cas2min(16:41)); /* ]]> */ </script> Pořát mi to ale nic nezobrazí.... |
||
_es Profil |
#3 · Zasláno: 22. 12. 2009, 19:27:10 · Upravil/a: _es
argonisius:
„s javascriptem začínám“ Začínaš nejako zle. Pozri si ako sa zapisujú hodnoty rôznych dátových typov - čísla, textové reťazce, polia, ... Ďalej ako sa definujú lokálne premenné vo funkciách. ... |
||
argonisius Profil * |
#4 · Zasláno: 22. 12. 2009, 19:37:53
Pokud jde o to pole vzniklé objektem split, tak jsou hodnoty v něm řetězce, nebo je n+jak možné, aby tam byla čísla a nemusel jsem tak použít parseInt()???
|
||
_es Profil |
#5 · Zasláno: 22. 12. 2009, 19:49:23 · Upravil/a: _es
argonisius:
Nemôžeš predsa požadovať aby ti tu niekto robil online výuku JavaScriptu od základov. Na to sú knihy, rôzne príručky, ... Môžeš začať napríklad u www.jakpsatweb.cz/javascript/zaklady-syntaxe.html Mimochodom na dátum a čas má JavaScript aj špeciálny objektový dátový typ. Čo očakávaš, že by malo spraviť cas2min(16:41)? |
||
argonisius Profil * |
#6 · Zasláno: 22. 12. 2009, 19:56:25
Rozdělí to 16:41 na hodiny - 16 a minuty - 41, potom těch 16 hodin vynásobí 60 a přičty k tomu 41 minut - výsledkem je 16:41 v minutách. Celou tuto funkci dělám kvůli tomu, abych mohl porovnávat časové ůdaje. Nebo se to dá udělat jednodušeji?
Chci například zjistit, jestli 16:41 je dřív než 12:30. Tak to převedu na minuty a potom porovnám... |
||
Davex Profil |
#7 · Zasláno: 22. 12. 2009, 20:09:36
V tento okamžik není parametrem funkce cas2min řetězec. Stačí se podívat do chybové konzole JavaScriptu (třeba ve Firefoxu), která ukáže číslo řádku s chybou.
|
||
argonisius Profil * |
#8 · Zasláno: 22. 12. 2009, 20:18:06
Díky... ještě poslední otázka... je potřeba deklarovat "cas" (cas = cas.split(":");) uvnitř funkce, nebo je již brán jako deklarovaný, protože je to paramatr funkce?
|
||
Časová prodleva: 14 let
|
0