instabiler div-layer
Benedikt
- javascript
Hallo!
ich habe ein JS-Menu programmiert das div-Elemente anzeigt, wenn man mit der Maus über ein Tabellenfeld fährt. Innerhalb der der div's stehen Links. Wenn das div-Element verlassen wird (onMouseOut) soll es verborgen werden. Wenn sich der Mauszeiger nun über die Links bewegt wird geprüft, ob er sich noch im div befindet. Das funkt auch ganz gut. Bewegt sich aber die Maus von unten nach oben im div auf einen Link, dann versagt der Mechanismus und das div-Element wird verborgen.
Wie kann ich die Routine ändern, dass es so funktioniert, wie es soll?
Code:
div onMouseOut:
function hidediv(p_div) {
var div = document.getElementById(p_div);
if ((window.event.offsetX > div.offsetWidth) ||
(window.event.offsetX < 0) ||
(window.event.offsetY > div.offsetHeight) ||
(window.event.offsetY < 0)) {
if (div.style.visibility == "visible") {
div.style.visibility = "hidden";
}
}
}
div-Element:
<div id="div_xyz" onMouseOut="hidediv(this.id)">
<table>
<tr><td><a href="url">XYZ</a></td></tr>
<tr><td><a href="url">XYZ</a></td></tr>
</table>
</div>