Autor Zpráva
eellff
Profil *
Ahoj. Mám tenhle script

<a 
onMouseOver="self.document['obrazek'].src='Obrazek_1.png';"
onMouseOut="self.document['obrazek'].src='Obrazek_2.png';"
onClick="self.document['obrazek'].src='Obrazek_3.png';">
<img name="obrazek" hspace=5 src="Obrazek_2.png" border="0">
</a>

Ten mi změni obrázek po najetí a po kliknutí, ale jak to mám udělat když potřebuju po najetí cursoru a i po kliknutí změnit na stránce dva obrázky s tím že ten druhej je někde jinde na stránce ?? Nevím si s tím moc rady.
DarkMeni
Profil
Přes javascript nebo css (ale to na to neni dělaný, takže lepší bude js)

eellff:
ten druhej je někde jinde na stránce
a přístup k elementu přes identifikátor (id, class, tagName, name...)

<img id="obrazek_id_1" src="obrazek1.jpg" alt="1. Obrázek" 
onmouseover="document.getElementById('obrazek_id_2').src = this.src = 'obrazek2.jpg';" 
onmouseout="document.getElementById('obrazek_id_2').src = this.src = 'obrazek1.jpg';">
<img id="obrazek_id_2" src="obrazek1.jpg" alt="2. Obrázek">
Nezkoušel sem to, ale myslim že by to mělo fungovat - jinak když se má u každýho obrázku změnit na jiný obrázek (1. 1=>2 | 2. 3=>4) tak by se to řešilo zase jinak (takle je to na změnu u 1. 1=>2 | 2. 1=>2 / že u obou elementů budou stejné obrázky) a kdyby to mělo platit i zpětně (po najetí na 2. obrázek aby se změnil i ten 1., tak by musel mít ty eventy i ten 2.)

U toho přechodu 1. 1=>2 / 2. 3=>4 a zpětně by to teda vypadalo:
<img id="obrazek_id_1" src="obrazek1.jpg" alt="1. Obrázek" 
onmouseover="this.src = 'obrazek2.jpg';document.getElementById('obrazek_id_2').src = 'obrazek4.jpg';" 
onmouseout="this.src = 'obrazek1.jpg';document.getElementById('obrazek_id_2').src = 'obrazek3.jpg';">

<img id="obrazek_id_2" src="obrazek3.jpg" alt="2. Obrázek" 
onmouseover="this.src = 'obrazek4.jpg';document.getElementById('obrazek_id_1').src = 'obrazek2.jpg';" 
onmouseout="this.src = 'obrazek3.jpg';document.getElementById('obrazek_id_1').src = 'obrazek1.jpg';">

A u toho kliknutí by přibyl ještě 3 event a 3 obrázek, takže ještě víc kombinací - to už by možná bylo jednodušší (nebo aspoň přehlednější) řešit skriptem v js než to vypisovat ručně.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: