Du hast Probleme mit dem event-bubbling. Die inneren Elemente decken beim Erscheinen tatsächlich das äußere Element ab und lösen einen onmouseout-event aus.
Setze in das äußere Element folgende onmousout-routine:
onmouseout="if (document.all) {
if (!this.contains(event.toElement))
javascript:changeMenu('');
}
else if (document.getElementById) {
if (!containsNN6(this, event.relatedTarget))
javascript:changeMenu('');}"
für den Mozilla brauchen wir dann die Funktion containsNN6:
function containsNN6 (container, containee)
{
var isParent = false;
do {
if ((isParent = container == containee))
break;
containee = containee.parentNode;
}
while (containee != null);
return isParent;
}
und natürlich für alle noch die Funktion die das Menue ändern soll, im Beispiel heißt sie changeMenu().
MfG
Klaus