Hilfe bei Menu mit mouseOver Effekt
Marco P
- javascript
Hallo!
Habe mir ein kleines Menu gebastelt was ziemlich viel Schnickschnack hat.
Habe nun aber noch folgendes Problem was ich einfach nicht gelöst bekomme.
Kurz mal erklärt:
Ich habe derzeitig mehrere Tabellenzeilen, die das Menu aufbauen.
Jede Zeile ein Link.
Sobald man mit der Maus drüber fährt kommt ein hover-Effekt und das Hintergrundbild wird geändert.
Also folgend:
onmouseover="this.style.backgroundImage = 'url(img/menu/m_bg.jpg)'"
sowie
onmouseout="this.style.backgroundImage = 'url(img/menu/m_1.jpg)'"
Klappt soweit alles einwandfrei.
Nun möchte ich es allerdings so machen, dass wenn man auf einen bestimmten Link im Menu geklickt hat und auf der darauf folgenden Seite gelandet ist das backgroundImage durchgehend z.b. img/menu/m_bg.jpg ist.
Meine Idee war zuerst einfach einen body onLoad einzubauen der dann direkt "this.style.backgroundImage" einbezieht, allerdings ist es ja so wenn man dann mit der Mouse über den Link fährt, dass dann der onmouseout wiede agiert was im Endeffekt dann eine recht schlampige und unperfekte Lösung ist.
Kurz noch als Lösung:
Das Menu liegt in einer extra Datei die auf jeder Seite eingebunden wird, daher ist es also auch nicht möglich einfach den onmouseout o.ä. auf den jeweiligen Seiten zu entfernen.
Würde mich über Lösungvorschläge freuen.
Viele Grüße
Marco P
hi,
Das Menu liegt in einer extra Datei die auf jeder Seite eingebunden wird, daher ist es also auch nicht möglich einfach den onmouseout o.ä. auf den jeweiligen Seiten zu entfernen.
Du kannst Eventhandler ja auch dynamisch "löschen" [1].
Wenn du das rein per Javascript machen willst, wirst du dir ja schon Gedanken darüber gemacht haben, wie du den jeweils "aktuellen" Link darüber identifiziert bekommst.
aktuellerLink.onmouseover = null;
[1] Wenn dein Script schon so aufgebaut wäre, dass es eigentlich gar keinen Eingriff ins HTML mehr erfordert - dann bräuchtest du gar nicht erst einen im HTML notierten Eventhandler löschen - sondern würdest sie gar nicht im HTML notieren, und nur per Javascript dort wo benötigt dynamisch hinzufügen.
gruß,
wahsaga
D.h. einfach die aktuelle Zelle ansprechen (td id="test")
d.h. mit test.onmouseover = null; ?
Hab ich das richtig verstanden oder stimmt etwas noch nicht?
Danke auf jeden Fall schonmal!