Autor Zpráva
mouse
Profil *
Dobrý večer všem,

snažím se udělat menu pro své stránky a samozřejmě takové, které by se líbilo mě i ostatním. Pomocí události onmouseover a onmouseout měním obrázek, ale ne nad kterým přejíždím myší. Vypadá to takhle:


<script>
function zobraz_obr(adresa) {
image1.src=adresa; }

function zobraz_obr2(adresa) {
image1.src=adresa; }
</script>

<div img src="obrazek1.png" ID="image1"></div>
<a href="#" onmouseover="zobraz_obr('obrazek2.png');" onmouseout="zobraz_obr2('obrazek1.png');">odkaz</a>


v tom není problém, problém je v tom, že menu má samozřejmě víc položek a já nechci pro každou položku přidávat funkce zobraz_obr. Dá se nějak opravit funkce, třeba vložit nějakou podmínku, která by kontrolovala, na který odkaz jsem najel, a k tomu změnila obrázek, který k odkazu patří? Děkuju předem za odpovědi!
Str4wberry
Profil
mouse
A nešlo by se obejít bez JavaScriptu a použít něco takového — http://wellstyled.com/css-nopreload-rollovers.html
Joker
Profil
mouse
Proč jsou zobraz_obr a zobraz_obr2 s úplně stejným kódem?

Ten požadavek je myšlený aby změnil pokaždé nějaký jiný obrázek? Potom stačí jako parametr funkce přidat prvek, který se má změnit, například:
function zobraz_obr(idPrvku, adresa){
var el = document.getElementById ? document.getElementById(idPrvku) : false;
if(!el) return(false);
el.src = adresa;
}

a potom např.: zobraz_obr("image1","obrazek2.png");
mouse
Profil *
Str4wberry

to já pak měním pozadí toho dokazu, pro obrázek kvůli tomuhle řešení je lepší javascript, ušetří to pár řádků:-)

Joker

Proč jsou zobraz_obr a zobraz_obr2 s úplně stejným kódem?
Mno javascript není můj šálek kávy, takže jsem takovej začátečník. Tohle jsme našel někde na stránkách a přišlo mi to asi jako nejlepší, nenapadl mě kód co si napsal. Vypadá dobře, ale pohužel mi hází chybu:( a to idPrvku není definováno a nevím proč.
Joker
Profil
mouse
Chybka v tom mém příkladu, v hlavičce funkce mělo být idPrvku a ne idprvku.
Upravím svůj původní příspěvek.
mouse
Profil *
Joker

vůbec jsem si nevšiml:( děkuju moc, teď to vypadá moc hezky
mouse
Profil *
Joker

bohužel jsem si teď všiml. že to nefunguje v opeře, je nějak možné kód upravit, aby to fungovalo i v ní?
mouse
Profil *
omlouvám se, chyba opera, nevěděl jsem že je defaultně javascript blokovanej
mouse
Profil *
resp. moje chyba

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

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

0