TGellenbeck: Untermenü automatisch schliessen

Hallo,

ich stehe momentan vor einem Problem und weiss nicht weiter, wie ich dies lösen kann. Nachfolgend ist mein Script beigefügt.
Auf meiner HP habe ich eine vertikale Navigation mit Untermenüs, die auch soweit gut funktioniert. Nun möchte ich aber noch eine weitere Funktion in die Navigation integrieren und zwar folgende: wenn ein Menü erweitert ist z.B. in meinem Code mit (Menue 1) bezeichnet und ein anderes Menü (Menue 2)angeklickt wird, soll das zuvor erweterte Münü automatisch die Untermenüpunkte ausblenden und die Untermenüpunkte des neuen Menüs eingeblendet werden. Genauso sollen bei einem Klick auf (Seite 1, Seite 2) die Untermenüpunkte automatisch ausgeblendet werden, auch wenn hier keine Untermenüs sind.

Besten Dank im voraus für die Unterstützung

Gruß Thomas

<head>
<script type="text/javascript">
function menue(identifier) {
 var element = document.getElementById(identifier);
 if (element.style.display == "block") {
  element.style.display = "none";
 } else {
  element.style.display = "block";
 }
}
</script>
<style type="text/css">
#a, #b { display: none; }
</style>
</head>
<body>
<ul>
 <li><a href="test.html" onclick="menue('a');return false;">Menue 1</a>
 <ul id="a">
  <li>Menue 1a</li>
  <li>Menue 1b</li>
  <li>Menue 1c</li>
 </ul></li>
 <li><a href="seite1.html">Seite 2</a></li>
 <li><a href="test2.html" onclick="menue('b');return false;">Menue 3</a>
 <ul id="b">
  <li>Menue 3a</li>
  <li>Menue 3b</li>
  <li>Menue 3c</li>
 </ul></li>
 <li><a href="seite2.html">Seite 4</a></li>
</ul>
</body>

  1. Mahlzeit TGellenbeck,

    Nun möchte ich aber noch eine weitere Funktion in die Navigation integrieren und zwar folgende: wenn ein Menü erweitert ist z.B. in meinem Code mit (Menue 1) bezeichnet und ein anderes Menü (Menue 2)angeklickt wird, soll das zuvor erweterte Münü automatisch die Untermenüpunkte ausblenden und die Untermenüpunkte des neuen Menüs eingeblendet werden. Genauso sollen bei einem Klick auf (Seite 1, Seite 2) die Untermenüpunkte automatisch ausgeblendet werden, auch wenn hier keine Untermenüs sind.

    Dann müsstest Du vielleicht ausgehend vom <http://de.selfhtml.org/javascript/sprache/objekte.htm#this@title=aktuellen Element> in der Hierarchie <http://de.selfhtml.org/javascript/objekte/node.htm#parent_node@title=nach oben gehen> und dann erst einmal <http://de.selfhtml.org/javascript/sprache/schleifen.htm#for@title=in einer Schleife> <http://de.selfhtml.org/javascript/objekte/node.htm#child_nodes@title=alle Menüpunkte> ausblenden, bevor Du den angeklickten einblendest.

    MfG,
    EKKi

    --
    sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
  2. Hi,

    ich stehe momentan vor einem Problem und weiss nicht weiter, wie ich dies lösen kann.

    Hast du denn das viel grössere Problem bereits erkannt?
    Ohne JavaScript sind deine ausgeblendeten Menüpunkte nicht erreichbar.

    Also blende sie nicht per Default aus, sondern nur dann, wenn JS verfügbar ist.

    wenn ein Menü erweitert ist z.B. in meinem Code mit (Menue 1) bezeichnet und ein anderes Menü (Menue 2)angeklickt wird, soll das zuvor erweterte Münü automatisch die Untermenüpunkte ausblenden und die Untermenüpunkte des neuen Menüs eingeblendet werden.

    Dann merke dir beim Einblenden das Menü, so dass du es beim Einblenden des nächsten wieder ausblenden kannst.

    MfG ChrisB

    --
    “Whoever best describes the problem is the person most likely to solve the problem.” [Dan Roam]