Chrisi: Javascriptmenü mit verschachtelten Listen

Beitrag lesen

Hallo zusammen,

ich habe ein kelines Problem mit einem Javascript Menu das aus ungeordneten Listen besteht. Ich möchte jetzt mittels Javascript festlegen das bei überfahren eines Punktes ein evtl. vorhandenes Untermenue eingeblendet wird.

Das Problem bei meinem Beispiel ist das mein Untermenü immer unter dem nächsten LI liegt und ich es nicht hinbekomme den nächsten Knoten anzusprechen.

Ich denke da ist nur ein kleiner Denkfehler drinnen, mein HTML:

  
 <ul id="nav">  
  <li><a href="#">Punkt1</a></li>  
        <li><a href="#">Punkt2</a></li>  
        <li>  
         <ul>  
             <li><a href="#" >Punkt2.1</a></li>  
                <li>  
                 <ul>  
                     <li><a href="#" >Punkt2.1.1</a></li>  
                    </ul>  
                </li>  
            </ul>  
        </li>  
     </ul>  

Meine JS Funktion:

  
activateMenu = function(nav) {  
  
 if (document.all && document.getElementById(nav).currentStyle) {  
  
  var navroot = document.getElementById(nav);  
  
  /* lade alle listenpunkte */  
  var lis=navroot.getElementsByTagName("LI");  
  for (i=0; i<lis.length; i++) {  
   /* hat der nachfolgende li ein untermenue ? <ul> */  
   var next = i + 1;  
   if(lis[next].lastChild.tagName=="UL"){  
    /* assign the function to the current LI */  
    lis[i].onmouseover=function() {  
     /* display the inner menu for next li */  
     lis[next].firstChild.style.display="block";  
    }  
    /* assign the function to the current LI */  
    lis[i].onmouseout=function() {  
     /* hide */  
     lis[next].firstChild.style.display="none";  
    }  
   }  
  }  
  
 }  
  
}  

Danke für jeden Tipp, Chrisi