Hallo Stephen
Ich will ein menusystem erstellen, das functioniert ganz gut, nur ich kann den layer nicht unsichtbar machen wenn ich mit der mouse hinausfahre... Was mach ich falsch...
Wenn die maus selbst nicht über den Layer geht, dann kann der dort enthaltende onmouseout-Befehl natürlich nicht ausgeführt werden.
Folgende Alternative ist möglich:
»» <img src="..\images\menubar_tools.jpg" border="0" onmouseover="showlayer('tools')" onmouseout="aktiv=setTimeout('hidelayer('tools')',3000);">
Mittels setTimeout startest du zeitverzögert das Ausblenden. Nach 3s verschwindet der Layer. Aktiv ist eine Variable, die das Timeout speichert.
»»
Damit beim überfahren des Layers, dieser nicht unplanmäßig verschwindet benötigt dein Div einen Befehl, der das Ausblenden wieder aufhebt. Dazu gibt es das clearTimeout. Dann wirkt dann ganz normal der onmouseout des divs.
<DIV ID="tools" onmouseover="if (self.aktiv) clearTimeout(aktiv);" onmouseout="hidelayer('tools')">
Viele Grüße
Antje
Das ist ganz gut, aber es loest mein problem nicht. Mein problem entsteht, wenn ich den onmouseout im div habe. Ich gehe ueber das Bild und der Layer(pulldownmenu) erscheint wenn ich nun die einzelnen
zeilen nach unten gehe, dann komme ich maximal bis zur zweiten zeile und der layer verschwindet. Wenn ich nur text im layer habe, kann ich den ganzen layer bis zum tabellenende gehen und der leyer hides, wenn ich den Text beruehre vershwindet der layer, obwohl ich immer noch im layer und nicht ausserhalb war. Es ist sicherlich etwas einfaches. Falls jemand eine Loesung hat, ich bin fuer jede Eingebung dankbar.