Autor | Zpráva | ||
---|---|---|---|
soucekgns Profil |
#1 · Zasláno: 20. 8. 2011, 15:39:21
Dobrý den,
mohu se zeptat, jak přidělit javascriptem položkám v seznamu proměnou (x) a číslo (1, 2...)? např.: img1.jpg, img2.jpg, img3.jpg -> x1 = img1.jpg x2 = img2.jpg x3 = img3.jpg Děkuji za rady |
||
Str4wberry Profil |
#2 · Zasláno: 20. 8. 2011, 19:31:16
Projít si cyklem všechny položky seznamu a do atributu „x“ nastavit příslušné číslo.
Nicméně zkus položit dotaz konkrétně. Co je cílem udělat? |
||
soucekgns Profil |
#3 · Zasláno: 20. 8. 2011, 20:18:26 · Upravil/a: soucekgns
Pokouším se udělat něco takového, ale nevím, kde je chyba... nechce mi to vypsat "dalsiobrazek"
<script type="text/javascript"> fotky = new Array("foto1.jpg", "foto2.jpg", "foto3.jpg", "foto4.jpg", "foto5.jpg", "foto6.jpg", "foto7.jpg"); for(i=0;i<fotky.length;i++){ if (document.getElementById('image').src==fotky[i]){ dalsiobrazek = fotky[i+1]; } } document.write(dalsiobrazek); </script> <img src="foto2.jpg" width="120" id="image"> |
||
Str4wberry Profil |
#4 · Zasláno: 20. 8. 2011, 20:38:28
Chyb je tam několik.
1) Jelikož je obrázek až pod kódem, getElementById('image') ho nechytí.
2) Kdybys používal var , vypsalo by se ti roztomilé undefined , takže bys hned viděl, že se podmínka nesplní.
3) Zkus si vypsat, co je v document.getElementById('image').src . :–)
|
||
soucekgns Profil |
#5 · Zasláno: 20. 8. 2011, 20:50:16 · Upravil/a: soucekgns
Str4wberry:
„Zkus si vypsat, co je v document.getElementById('image').src. :–)“ ...já zapomněl: file:///F:/aktenis/foto2.jpg Jak tedy můžu rozumě získat foto2.jpg Díky |
||
soucekgns Profil |
#6 · Zasláno: 20. 8. 2011, 21:40:29
Ještě mám prosbu... zde mi to nějak nesedí, vždy když kliknu na next, tak se document.getElementById('image').src=undefined
<img src="foto2.jpg" width="120" id="image"> <script type="text/javascript"> function aaa() { fotky = new Array("foto1.jpg", "foto2.jpg", "foto3.jpg", "foto4.jpg", "foto5.jpg", "foto6.jpg", "foto7.jpg"); for(i=0;i<fotky.length;i++){ if (document.getElementById('image').src=='file:///F:/aktenis/'+fotky[i]){ var dalsiobrazek = fotky[i+1]; document.getElementById('image').src=dalsiobrazek; } } } </script> <a onclick="javascript: aaa();">Next</a> |
||
Str4wberry Profil |
#7 · Zasláno: 20. 8. 2011, 22:48:35
Protože při posledním průchodu cyklem se dostaneš na neexistující index. Jak to opravit? Zamyslet se, co ten kód vlastně dělá. Problém je v tom, že 9. řádkem nastavíš nové
src obrázku, takže se zase splní podmínka z řádku sedmého a tak pořád dokola, až se v posledním průchodu cyklem dostaneš na nedefinovanou položku pole.
Mimochodem, je ještě třeba vyřešit situaci pro poslední obrázek. |
||
soucekgns Profil |
#8 · Zasláno: 20. 8. 2011, 23:08:05 · Upravil/a: soucekgns
Super, díky vyřešeno oboje
Akorát prosím, jak "vyříznu" foto2.jpg z file:///F:/aktenis/foto2.jpg javascriptem, Díky <img src="foto1.jpg" width="120" id="image"> <script type="text/javascript"> function aaa() { fotky = new Array("foto1.jpg", "foto2.jpg", "foto3.jpg", "foto4.jpg", "foto5.jpg", "foto6.jpg", "foto7.jpg"); for(i=0;i<fotky.length;i++){ if (document.getElementById('image').src=='file:///F:/aktenis/'+fotky[i]){ if (i+1==fotky.length){ var dalsiobrazek = fotky[0]; document.getElementById('image').src=dalsiobrazek; break; } else { var dalsiobrazek = fotky[i+1]; document.getElementById('image').src=dalsiobrazek; break; } } } } function bbb() { fotky = new Array("foto1.jpg", "foto2.jpg", "foto3.jpg", "foto4.jpg", "foto5.jpg", "foto6.jpg", "foto7.jpg"); for(i=0;i<fotky.length;i++){ if (document.getElementById('image').src=='file:///F:/aktenis/'+fotky[i]){ if (i==0){ var predchoziobrazek = fotky[fotky.length-1]; document.getElementById('image').src=predchoziobrazek; break; } else { var predchoziobrazek = fotky[i-1]; document.getElementById('image').src=predchoziobrazek; break; } } } } </script> <a onclick="javascript:bbb();">Prew</a> <a onclick="javascript:aaa();">Next</a> |
||
Str4wberry Profil |
#9 · Zasláno: 21. 8. 2011, 00:01:24
To by mohlo jít třeba regulárním výrazem:
document.getElementById('image').src.replace(/.*\/(.*)/, "$1") |
||
Časová prodleva: 13 let
|
0