Benedikt: Layer verschwindet!

Hallo!

Ich programmiere ein Menu, bei dem onMouseOver opsitionierte Elemente sichtbar werden. Fährt man mit dem Mauscursor über einen Link in diesen Bereich, verschwindet dieser!!
Er soll aber erst onMouseOut verschwinden.
Befindet sich im Element kein Text (nur <br>s), dann tritt dieses Phänomen nicht auf.

Wie bleibt der Layer sichtbar?

Vielen Dank
Benedikt

  1. Hi Benedikt

    Wie bleibt der Layer sichtbar?

    Vielleicht postest du uns ja mal etwas von deinem Quellcode oder verlinkst noch besser auf eine Beispielseite.

    Schöne Grüße

    Johannes

    --
    ss:| zu:) ls:[ fo:) de:] va:) ch:] sh:( n4:& rl:( br:^ js:| ie:{ fl:( mo:|
    Selfcode bei http://emmanuel.dammerer.at/selfcode.html
    1. Hallo Johannes und alle anderen Foren-Benutzer,

      also der QC:

      1. CSS-Klasse des div-Layers
      .flyout {
       background-color: #CCCCCC;
       position: absolute;
       visibility: hidden;
      }
      ----------------------------------------------------------------
      2. Position des layers berechnen (bisher nur IE)
      function GetElementLeft(Element)
      {
          var LeftPos = Element.offsetLeft;
          var ParElement = Element.offsetParent;
          while (ParElement != null)
          {
              LeftPos += ParElement.offsetLeft;
              eParElement = eParElement.offsetParent;
          }
          return nLeftPos;
      }

      function GetElementTop(Element)
      {
          var TopPos = Element.offsetTop;
          var ParElement = Element.offsetParent;
          while (ParElement != null)
          {
              TopPos += ParElement.offsetTop;
              ParElement = ParElement.offsetParent;
          }
          return TopPos;
      }

      div_xyz.style.top = GetElementTop(td_xyz);
      div_xyz.style.left = GetElementLeft(td_xyz) + td_xyz.offsetWidth;
      ----------------------------------------------------------------
      3. Zum Anzeigen, wenn der Cursor über ein Tabellenfeld fährt
      function showdiv(p_div) {
       var div = document.getElementById(p_div);
       var i;
       for(i = 0; i < document.getElementsByTagName("div").length; i++) {
        if (document.getElementsByTagName("div")[i].style.visibility == "visible")
         document.getElementsByTagName("div")[i].style.visibility = "hidden";
       }
       div.style.visibility = "visible";
      }
      ----------------------------------------------------------------
      4. Zum Verbergen wenn der Layer verlassen wird (onMouseOut)
      function hidediv(div) {
       if (document.getElementById(div).style.visibility == "visible")
        document.getElementById(div).style.visibility = "hidden";
      }
      ----------------------------------------------------------------
      5. Der Layer selbst
      <div id="div_hdb" class="flyout" onMouseOut="hidediv('xyz')">
      ...
      </div>