IV. Obrázky v JavaScripte... Pri putovaní svetom Internetu sa hojne stretávame s webmi, ktoré využívajú JavaScript na zvýrazňovanie informácií nachádzajúcich sa na stránke. Deje sa to väčšinou pomocou funkcie zámeny obrázkov. Na stránke sa nachádza niekoľko obrázkov a ak ukážeme myšou na jeden z nich, miesto neho sa zobrazí iný. Pracujeme s obrázkami (1) Nato, aby sme mohli v JavaScripte
niečo s obrázkami robiť, potrebujeme sa naučiť spôsob akým je možné
sa na ne odkazovať. Každému obrázku, ktorý sa na stránke zobrazí, prehliadač
stránok automaticky priradí poradové číslo. Prvému obrázku sa priradí
číslo 0, druhému 1, atď... PRÍKLAD 4.1 - Zámena obrázku <html> <head> <title>Zamena obrazku</title> </head> <body> <center> <img src="on.gif"><p> <a href="" onClick="document.images[0].src='off.gif';return false;"> Zamen obrazok</a> </center> </body> </html> Ako to celé funguje? Po načítaní tejto stránky, prehliadač zobrazí obrázok on.gif a pod ním zobrazí klikateľný odkaz Zamen obrazok. Ak klikneme na tento odkaz, činnosť prevezme udalosť onClick, ktorá obrázku s poradovým číslo 0 (on.gif) priradí novú adresu (off.gif). To spôsobí, že sa pôvodný obrázok on.gif zamení za off.gif. return false vráti hodnotu false udalosti onClick, čo má za následok to, že prehliadač stránok neodskočí na stránku, ktorú sme definovali v <A HREF="">. Pracujeme s obrázkami (2) Pristupovať k obrázkom pomocou poradových
čísel je dosť náročné a neprehľadné. Stačí ak pridáme na začiatok stránky
nový obrázok a všetky funkcie, v ktorých sa odvolávame na obrázky, musíme
prečíslovať. Preto existujú v JavaScripte aj iné spôsoby adresácie obrázkov. PRÍKLAD 4.2 - Žiarovka (zámena obrázku tam a späť) <html> <head> <title>Ziarovka</title> <script language="JavaScript"> <!-- // na zaciatku ziarovka nesvieti svieti=false; function vypinac() { if (!svieti) // ak este nesvieti, rozsviet { document.images.obr.src="on.gif"; svieti=true; } else // ak uz svieti, zhasni { document.images.obr.src="off.gif"; svieti=false; } } // --> </script> </head> <body> <center> <img name="obr" src="off.gif"> <form> <input type="button" value="zapni/vypni" onClick="vypinac();"> </form> </center> </body> </html> Po nahratí stránky do prehliadača
sa do logickej premennej svieti priradí hodnota false
(tá udáva skriptu, že žiarovka je najprv zhasnutá). Následne potom sa
zobrazí obrázok zhasnutej žiarovky (off.gif) spolu s tlačítkom
zapni/vypni. Ak klikneme na tlačítko, činnosť prevezme udalosť
onClick, ktorá vyvolá funkciu vypinac(). Funkcia vypinac()
zisťuje, že či už žiarovka svieti alebo nie. Teda ak zistí, že ešte
žiarovka nesvieti (je splnená podmienka if (!svieti), ! predstavuje
negáciu výrazu), rozsvieti ju (zamení obrázok) a do premennej svieti
priradí hodnotu true (tá udáva skriptu, že žiarovka už svieti). Zámena obrázkov prakticky Predchádzajúce skripty skrývajú v
sebe jednu nevýhodu. Po nahratí stránky sa zobrazil obrázok. Po odkliknutí
na tlačítko (odkaz) dochádzalo k zámene tohto obrázku za iný, no ten
nový nebol pohotovo pripravený v pamäti prehliadača a trvalo určitý
čas, kým sa načítal a nastala zámena. Tento čas je zanedbateľný pri
stránkach, ktoré sa nachádzajú na našom disku alebo lokálnej sieti,
no v prípade pomalších spojení na Internet tento čas môže byť badateľnejší. PRÍKLAD 4.3 - Zámena obrázkov prakticky <html> <head> <title>Zamena obrazkov prakticky</title> <script> <!-- // nakesovanie obrazkov (preload) obr1=new Image(); obr1.src="on.gif"; obr2=new Image(); obr2.src="off.gif"; function zamen(nazov_obr,novy_obr) { document.images[nazov_obr].src=novy_obr; } // --> </script> </head> <body> <font size="6">Cielova trasa</font><br> <table border="0"> <tr> <td><a href="1.html" onMouseOver="zamen('obr1','off.gif');" onMouseOut="zamen('obr1','on.gif');"> <img src="on.gif" border="0" name="obr1"></a></td> <td>PRAHA</td> </tr> <tr> <td><a href="2.html" onMouseOver="zamen('obr2','off.gif');" onMouseOut="zamen('obr2','on.gif');"> <img src="on.gif" border="0" name="obr2"></a></td> <td>BRATISLAVA</td> </tr> <tr> <td><a href="3.html" onMouseOver="zamen('obr3','off.gif');" onMouseOut="zamen('obr3','on.gif');"> <img src="on.gif" border="0" name="obr3"></a></td> <td>KOSICE</td> </tr> </table> </body> </html> Záverom... Tak a máme zámenu obrázkov za sebou. Na záver ešte jedno upozornenie. Ak sa budete pokúšat tieto skripty spúšťať pod MS IE 3.0, tak to bude márne, pretože v tejto verzii nie je podporovaná zámena obrázkov. Plnú podporu priniesla až verzia MS IE 4.0. O tom, ako je možné skripty prispôsobiť pre rôzne verzie prehliadačov, o tom bude reč nabudúce... Rastislav Škultéty
NAHORU
|