ThomasG: Fehler in Vertikaler Navigation

Beitrag lesen

Hallo,

wer kann mir bitte helfen?
Ich habe hier aus diesem Forum eine vertikale Navigation mit Javascript, die bei mir nicht richtig funktioniert. Ich benötige eine Navigation

für die Realiesierung unserer Vereins-HP mit mindestens 3 Ebenen. Die unten aufgeführte Navigation würde dies auch so erfüllen, bis auf das

Fehlverhalten, welches ich im Anschluss erklärte.
Bei allen Menüpunkten mit Untermenü läßt sich bei mir die Navigation zwar öffnen und schließen jedoch nicht auf die hinterlegte HTML-Seite

zugreifen. Es bleibt immer die zuletzt besuchte HTML-Seite ohne Untermenü im Focus. Deshalb schließen sich auch die Untermenüs nicht

selbständig beim Klick auf einen Menüpunkt mit Untermenü (bei Menüs ohne Untermenü ist alles o.k.). Außerdem wird beim Klick auf den untersten

Menüpunkt eine Ebene zurück ausgeblendet, nicht aber die entsprechende HTML-Seite aktiviert.
Da ich noch ziemlicher Anfänger in Sachen JavaScript bin, möchte ich hier um Unterstützung bitten. Wer kann mir einen guten Tip hierfür geben,

damit ich den Fehler an der Navigation der Homepage beheben kann.

Besten Dank für die Unterstützung im voraus

Gruß
Thomas

<html lang="de">
<head>

<script type="text/javascript">

window.onload=menu;
function menu(){
        var l=document.getElementById('menu').getElementsByTagName('ul')

for(var i=0;i<l.length;i++){
                l.item(i).style.display='none';
        }
        l=document.getElementById('menu').childNodes
        for(i=0;i<l.length;i++){
                if(l.item(i).tagName && l.item(i).tagName.toLowerCase()=='li'){
                        setEvent(l.item(i))
                }
        }
}
function setEvent(e){
        var l=(e.getElementsByTagName('ul').item(0)) ? e.getElementsByTagName('ul').item(0).childNodes : ''
        if(l.length>0){
                e.onclick=function (){show(this);return false;}

for(i=0;i<l.length;i++){
                        if(l.item(i).tagName && l.item(i).tagName.toLowerCase()=='li'){
                                setEvent(l.item(i))
                        }
                }
        }
}
function show(e){
        if(e.parentNode!=document.getElementById('menu')){
                if(!document.getElementById('my_event')){
                        e.id='my_event'
                        e.getElementsByTagName('ul').item(0).style.display=(e.getElementsByTagName('ul').item(0).style.display=='none') ?

'block' : 'none'
                }
        }
        else{
                if(document.getElementById('my_event')){
                        document.getElementById('my_event').id=''
                }
                else        e.getElementsByTagName('ul').item(0).style.display=(e.getElementsByTagName('ul').item(0).style.display=='none') ?

'block' : 'none'
        }

}
</script>

</head>
<body>

<div id="header"></div>

<div id="linkespalte">
<ul id="menu">
  <li><a href="menu1.html">1. Menuitem</a></li>
  <li><a href="menu2.html">2. Menuitem</a>
    <ul>
      <li><a href="sub1.html">1. Submenu</a></li>
      <li><a href="sub2.html">2. Submenu</a></li>
    </ul>
  </li>
  <li><a href="menu3.html">3. Menuitem</a>
    <ul>
      <li><a href="sub3.html">3. Submenu</a>
        <ul>
          <li><a href="subsub1.html">1. Subsubmenu</a></li>
          <li><a href="subsub2.html">2. Subsubmenu</a></li>
        </ul>
      </li>
      <li><a href="sub4.html">4. Submenu</a></li>
    </ul>
  </li>
  <li><a href="menu4.html">4. Menuitem</a></li>
</ul>
</div>

<div id="content"></div>
<div id="rechtespalte"></div>
<div id="footer"></div>
</body>
</html>