Autor | Zpráva | ||
---|---|---|---|
janharvalik Profil * |
#1 · Zasláno: 10. 8. 2010, 06:08:31
dobrý den,
poradíte mi kde je chyba? <script type="text/javascript"> function slide(play){ var pole = new Array(); pole[0] = "red"; pole[1] = "blue"; pole[2] = "green"; pole[3] = "orange"; pole[4] = "blue"; pole[5] = "purple"; var delka=pole.length-1; if(play){ document.getElementById("foto").style.background=pole[a]; if(a==delka){a=0;}else{a++;} setTimeout("slide()",1000);}; } else{ document.getElementById("foto").style.background="yellow"; } </script> poznámka: pole je uděláno takto protože ho vypisuji pomocí php. |
||
Tori Profil |
#2 · Zasláno: 10. 8. 2010, 08:46:20
janharvalik:
var a=0; // promenna nebyla definovana function slide(play){ var pole = new Array(); pole[0] = "red"; pole[1] = "blue"; pole[2] = "green"; pole[3] = "orange"; pole[4] = "blue"; pole[5] = "purple"; var delka=pole.length-1; if(play){ document.getElementById("foto").style.background=pole[a]; if(a==delka){a=0;}else{a++;} setTimeout("slide()",1000);}; // tohle je navic, protoze tim uzavrete podminku if(play) a nasledujici sloz.zavorka uzavre telo funkce, // ...a else (za funkci, bez if) pak vyhodi syntaktickou chybu } else{ document.getElementById("foto").style.background="yellow"; } } // tady by se teprv melo uzavrit telo funkce Zkuste použít nějaký editor se zvýraňováním protějších závorek, uvidíte hned, který blok kódu uzavíráte. Dobrý doplněk do FF/Chrome/Seamonkey je Web Developer Toolbar, kde v chybové konzoli javascriptu uvidíte prakticky totéž, co jsem napsala, jenom trochu rychleji ;-) |
||
janharvalik Profil * |
#3 · Zasláno: 10. 8. 2010, 23:05:16
Tori:
„promenna nebyla definovana“ proč nebyla definována? |
||
janharvalik Profil * |
#4 · Zasláno: 10. 8. 2010, 23:11:31
proč se slide() provede pouze jednou?
|
||
Chamurappi Profil |
#5 · Zasláno: 10. 8. 2010, 23:28:36
Reaguji na janharvalika:
„proč nebyla definována?“ Protože jsi ji nedefinoval. Mimochodem, nesliboval jsem ti už někdy, že budu špatně nazvané dotazy mazat? Název „špatná funkce“ je docela špatný, nevystihuje podstatu dotazu, nepopisuje chybu. „proč se slide() provede pouze jednou?“ Protože podruhé by se volala jen tehdy, kdyby bylo play pravdivé, jak testuješ na řádku 11.
|
||
janharvalik Profil * |
#6 · Zasláno: 10. 8. 2010, 23:49:12
Chamurappi:
„Mimochodem, nesliboval jsem ti už někdy, že budu špatně nazvané dotazy mazat? Název ‚špatná funkce‘ je docela špatný, nevystihuje podstatu dotazu, nepopisuje chybu.“ jak by jste to nazval vy? Když nevím kdy je chyba, nemohu ji napsat. Chamurappi: „Protože podruhé by se volala jen tehdy, kdyby bylo play pravdivé“ vždyť je, nebo ne? |
||
Nox Profil |
#7 · Zasláno: 10. 8. 2010, 23:54:20
janharvalik:
Proč bys ho v PHP nemohl vypsat jako ["red", "blue", "green"...] ? delka je asi trochu zbytečná nevidím první volání slide(), ale další voláš bez argumentu, toho sis nevšiml? jak to pak může být bráno kladně? |
||
janharvalik Profil * |
#8 · Zasláno: 11. 8. 2010, 00:13:36
Nox:
„Proč bys ho v PHP nemohl vypsat jako ["red", "blue", "green"...] ?“ protože nevím co dělat s čárkami. <body onLoad='slide(true);' > <div onClick="slide(false);" id="foto" > text </div> <script type="text/javascript"> function slide(play){ var pole = new Array(); pole[0] = "red"; pole[1] = "blue"; pole[2] = "green"; pole[3] = "orange"; pole[4] = "blue"; pole[5] = "purple"; var delka=pole.length-1; if(play){ document.getElementById("foto").style.background=pole[a]; if(a==delka){a=0;}else{a++;} setTimeout("slide(true)",1000); } else{ document.getElementById("foto").style.background="yellow"; } }; </script> |
||
Tori Profil |
#9 · Zasláno: 11. 8. 2010, 08:52:52
janharvalik:
„protože nevím co dělat s čárkami.“ co třeba: $barvy = array('red', 'blue', 'green', 'orange', 'blue', 'purple'); echo 'var pole = ["' . implode('", "', $barvy) . '"];'; |
||
Časová prodleva: 14 let
|
0