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