Matthias: Bei "onmouseout" bleibt Navigation aufgeklappt

Beitrag lesen

Hallo Leute. Ich hab mir eine Navigation per Klappmenü erstellt, wie es im Buch "DHTML" von Franzis' beschrieben wird. Allerdings stört mich daran, dass das Menü aufgeklappt bleibt, wenn die Maus den Bereich wieder verlassen hat. Kann mir bitte jemand sagen, was ich ändern muss? Ich habe den hoffentlich relevanten Code unten mit in den Text genommen. Wäre super, wenn mir dabei jemand helfen kann.

function Menue_erzeugen() {
 var j = 0;
 for(var i = 0; i < Menue.length; i += 3) {
  MenueDivs[j] = document.createElement("div");
  MenueDivs[j].style.position = "absolute";
  MenueDivs[j].style.fontFamily = MenueText;
  MenueDivs[j].style.fontSize = MenueTextgroesse;
  MenueDivs[j].style.color = MenueTextfarbe;
  MenueDivs[j].style.fontWeight = MenueTextgewicht;
  MenueDivs[j].style.backgroundColor = MenueHintergrundfarbe;
  MenueDivs[j].style.padding = MenueInnenabstand;
  MenueDivs[j].style.zIndex = "2";
  if(Menue[i] == "top") {
   MenueDivs[j].innerHTML = "<a class="nav" href=""+ Menue[i+2] + "" onMouseover="MouseoverTopMenue(" + j + ")" onMouseout="MouseoutTopMenue(" + j + ")">" + Menue[i+1] + "</a>";
   Untenversatz = 0;
   if(i > 0) Rechtsversatz += TopBreite;
   MenueDivs[j].style.top = TopStartOben + "px";
   MenueDivs[j].style.left = TopStartLinks + Rechtsversatz + "px";
   MenueDivs[j].style.width = TopBreite + "px";
   MenueDivs[j].style.height = TopHoehe + "px";
   Untenversatz += TopHoehe;
  }
  else if(Menue[i] == "down") {
   MenueDivs[j].innerHTML = "<a class="nav" href=""+ Menue[i+2] + "" onMouseover="MouseoverDownMenue(" + j + ")" onMouseout="MouseoutDownMenue(" + j + ")">" + Menue[i+1] + "</a>";
   MenueDivs[j].style.top = TopStartOben + Untenversatz + "px";
   MenueDivs[j].style.left = TopStartLinks + Rechtsversatz + "px";
   MenueDivs[j].style.width = DownBreite + "px";
   MenueDivs[j].style.height = DownHoehe + "px";
   MenueDivs[j].style.paddingLeft = DownLinksrand + "px";
   MenueDivs[j].style.visibility = "hidden";
   Untenversatz += DownHoehe;
  }
  document.getElementsByTagName("body")[0].appendChild(MenueDivs[j]);
  j += 1;
 }
}

function MouseoverTopMenue(n) {
  MenueDivs[n].style.backgroundColor = MouseoverHintergrundfarbe;
  Menue_zuruecksetzen();
  for(var i = 0; i < Menue.length; i += 3)
   if(Menue[i] == "down")
    if(parseInt(MenueDivs[parseInt(i/3)].style.left) == parseInt(MenueDivs[n].style.left))
     MenueDivs[parseInt(i/3)].style.visibility = "visible";
}

function MouseoutTopMenue(n) {
  MenueDivs[n].style.backgroundColor = MenueHintergrundfarbe;
}

function MouseoverDownMenue(n) {
  MenueDivs[n].style.backgroundColor = MouseoverHintergrundfarbe;
}

function MouseoutDownMenue(n) {
  MenueDivs[n].style.backgroundColor = MenueHintergrundfarbe;
}

function Menue_zuruecksetzen() {
  for(var i = 0; i < Menue.length; i += 3)
   if(Menue[i] == "down")
    MenueDivs[parseInt(i/3)].style.visibility = "hidden";
}