B. Hopf: onmouseout in Layern

Hallo!

Ich habe folgendes Problem:

Ich habe einen Layer, der sieht folgendermaßen aus:

strHTMLLayerMenue = strHTMLLayerMenue + '<table width="24" bgcolor="Gray" height="74" border="0" cellpadding="0" cellspacing="0">';
  strHTMLLayerMenue = strHTMLLayerMenue + '<tr><td class="t1" valign="top">irgendwas</td></tr>';
  strHTMLLayerMenue = strHTMLLayerMenue + '<tr><td class="t1" valign="top">irgendwas</td></tr>';
  strHTMLLayerMenue = strHTMLLayerMenue + '<tr><td class="t1" valign="top">irgendwas</td></tr>';
  strHTMLLayerMenue = strHTMLLayerMenue + '</table>';

Der Layer besteht aus 3 Zeilen und einer Spalte.
Den Layer überwache ich mit document.getElementById("LayerMenue").onmouseout = HideLayerMenue;

Mit der Funktion HideLayerMenue setze ich den Layer auf hidden.

Doch gehe ich mit der Maus über die 2. Zeile, so wird die Funktion HideLayerMenue aufgerufen, wo ich den Layer auf hidden setze.
Eigentlich sollte doch erst, wenn ich den Layer verlasse die Funktion aufgerufen werden.

Herzlichen Dank für die Hilfe

B. Hopf

  1. Hallihallo!

    Wahrscheinlich hast Du in Deiner besagten zweiten Zeile einen Link oder sowas drin, was als eigenständiges Objekt angesehen wird.
    Dann denkt der Browser "aha, die Maus ist jetzt über dem anderen Objekt, also nicht mehr über dem Layer. Da verstecke ich den doch lieber mal".

    Ich selber umgehe das Problem bei meinem mouseover- Menü, indem ich eine unsichtbare Ebene hinter die eigentlich angezeigte lege. Diese Ebene blendet dann per onmouseover die Menüebene aus. Zu sehen ist das unter http://www.ewetel.net/~tobias.hahner/schnippsel/framemenu/index.html

    Ich habe allerdings auch schon von Leuten gehört, die mit dem eventhandler "onmouseleave" Erfolg hatten. Habe aber noch nie damit experimentiert, kann da also nichts großartiges zu sagen.

    Ich hoffe, ich konnte Dir helfen...

    Viele liebe Grüße,
    Der Dicki