onMouseOver reagiert manchmal nicht
sandra
- javascript
0 flashnfantasy0 sandra
Hallo!
Hab ein Menü mit fünf punkten, bei einem Menüpunkt sollen bei Mouseover, die unterpunkte sichtbar werden. Hier ein Auszug aus dem Code:
<a href="index.php5" >Home<br></a>
<div onMouseOver="einblenden();">
<a href="produkte.php5" >Produkte<br></a>
</div>
<div id = "um" style="display:<?php echo $offen; ?>">
<a href="produktX.php5">X<br></a>
<a href="produktY.php5">Y<br></a>
</div>
<a href="qualitaet.php5" >Qualität<br></a>
Wenn ich jetzt z.B. auf Qualität mit der Maus stehe, weil ich mir das vorher durchgelesen hab und eins weiter hoch auf Produkte schiebe reagiert die Funktion einblenden nicht, wenn ich von der Seite komme schon...
Kann sich das jemand erklären??
Vielen Dank!
Sandra
Das Mouseover-Event wird nicht unbedingt auf alle Elemente darunter vererbt.
Ich glaube, gerade das <a> Tag übernimmt nicht das Mouseover.
Prüfe mal, ob folgendes funktioniert
<div onMouseOver="einblenden();">
<a href="produkte.php5" onMouseOver="einblenden();">Produkte<br></a>
</div>
Gruß, Flash
Hallo Flash,
ich glaub ich hab das problem gefunden:
ich hab um das menü wieder zuzuklappen eine funktion ausblenden geschrieben, die ich bei (fast) allen anderen divs per mouseover eingefügt habe (-onmousout im selben div hat nicht richtig funktioniert-). In dieser Funktion war eine Zeitverzögerung mit settimeout eingebaut. in einblenden() war dann ein cleartimeout weils sonst auch nicht richtig funzt hat.
Nun zum eigentlichen Problem: wenn ich wie vorher beschrieben die Maus vorher nur im Menü hatte, kannte er anscheinend den timeout-Parameter nicht und führte auch denn zweiten Befehl nicht aus..
Problem wurde also gelöst, dass ich die Zeitverzögerung rausgenommen hab.
Weiss jemand, wie man das ganse als Profi löst...?
Vielen Dank!
Sandra
Hi Sandra,
laß mich mal vermuten, was du willst.
Du willst, daß ein Menü aufklappt, und einige Zeit dann stehen bleibt.
Hast du das Event onmouseout schon probiert ?
Falls du Submenüs hast, dann wird das aber nicht helfen, weil das Submenü verschwindet, sobald du den Knopf für das Hauptmenü verlässt.
Da gibt es nur eine umfangreichere Lösung.
Die Idee ist, daß mit dem MouseOut-Event ein Timer getriggert wird, der letztlich die Funktion aufruft, die das Submenü wieder verschwinden lässt.
Diesen Timer musst du dann wiederum löschen, sobald du mit einem MouesIn auf das Untermenü gehst.
Wie das in etwa aussieht, siehst du hier
http://www.forum35.de/frame.php?action=galerie
wenn du auf "Übersicht alle Galerieen gehst", dort gibt es ein mehrfach verschachteltes Menü.
Gruß Flash