Chris: onmouseout auch auf a, div Elementen

Hi,

ich komme einfach nicht weiter.
Bei onMouseOut soll das Menü noch sichtbar bleiben, wenn ich von NavigationLevel3 nach a wechsel.
Ohne a oder div um die Inhalte im Sprungmenü geht´s.

  
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
<html xmlns="http://www.w3.org/1999/xhtml">  
<head>  
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />  
<title>Unbenanntes Dokument</title>  
  
<script language="javascript" type="text/javascript">  
function hideMe (event)  
{  
 document.getElementById("NavigationLevel3").style.visibility = "hidden";  
}  
  
function hideLayer(event)  
{  
 var target = event.target || event.srcElement || false;  
 var toElement = event.relatedTarget || event.toElement || false;  
  
 if (target.id == "NavigationLevel3"  && toElement.id != "14")  
 {  
  document.getElementById("NavigationLevel3").style.visibility = "hidden";  
 }  
 else  
 {  
 }  
}  
  
  
function showLayer(menuid)  
{  
 posLeft = document.getElementById(menuid).offsetLeft;  
 document.getElementById("NavigationLevel3").style.left = posLeft;  
 document.getElementById("NavigationLevel3").style.visibility = "visible";  
}  
  
</script>  
  
</head>  
  
<body>  
<div id="14" onmouseover="showLayer(14)" onmouseout="hideLayer(event)">testlink</div>  
  
<div id="NavigationLevel3" style="visibility:hidden; padding: 6px 0px 0px 0px; position:absolute; top:150px; left:200px; z-index:2; border:1px solid #3172A8; background-color: #F8F8F8;" onmouseout="hideMe(event)">  
 Testmenue1<br />  
    <a href="test.html">Testmenue</a>  
</div>  
  
</body>  
</html>  
  

Das muss doch irgendwie zu schaffen sein?

Danke schon mal.
Bye, Chris

  1. Hallo,

    Bei onMouseOut soll das Menü noch sichtbar bleiben, wenn ich von NavigationLevel3 nach a wechsel.

    da du laut DOCTYPE in XHTML schreibst, achte bitte darauf, dass es keinen Eventhandler onMouseOut gibt. Du meinst wahrscheinlich onmouseout.

    <div id="14" onmouseover="showLayer(14)" onmouseout="hideLayer(event)">testlink</div>

    Und "14" ist kein gültiger id-Wert. IDs müssen mit einem Buchstaben beginnen.

    <div id="NavigationLevel3" style="visibility:hidden; padding: 6px 0px 0px 0px; position:absolute; top:150px; left:200px; z-index:2; border:1px solid #3172A8; background-color: #F8F8F8;" onmouseout="hideMe(event)">

    Dieses Element hat zwar einen onmouseout-Handler, aber keinen onmouseover. Seltsam.

    Das muss doch irgendwie zu schaffen sein?

    Möglich. Bis jetzt verstehe ich aber noch nicht, was du wirklich willst - bzw. ich kann diese Beschreibung nicht mit deinem Code korrelieren.

    So long,
     Martin

    --
    Gott hilft niemandem, er erfreut sich nur an unseren Leiden.
      (Ashura)
  2. Hallo,

    in hideMe musst du natürlich auch abfragen, ob das Element, von dem das Ereignis aufgestiegen ist, nicht innerhalb von <div id="NavigationLevel3"> liegt. Im Archiv düftest du da (u.a. von mir) Beispiele finden.

    </archiv/2007/2/t146689/#m951952>
    </archiv/2006/4/t127058/#m820234>

    Mathias

  3. Mahlzeit,

    wieso bleibst Du nicht in Deinem ursprünglichen Thread?

    MfG,
    EKKi

    --
    sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|