Anpassen des "Aufklappbare Menüs" Scripts aus SELFHTML aktuell
Gunther
- javascript
Hallo Selfgemeinde!
Ich verwende für meine Navigation das Script "Aufklappbare Menüs" aus SELFHTML aktuell.
Das funktioniert soweit hervorragend.
Jetzt wollte ich gerne, dass vor Parent-Elementen jeweils ein '+', bzw. '-' (als Grafik) erscheint, welches durch Anklicken entsprechend den Knoten öffnet oder schließt. Auch das klappt per <a href="#" /> soweit.
Mein Problem ist aber folgendes:
Ich habe jetzt in meinem Menü in etwa ja immer folgende Struktur (2 Links eingeschlossen in ein LI-Element):
<li class="nm_dir"><a href="#" class="icon"> </a><a href="index.html" title="index">Index</a></li>
Nun reagiert das Script aber auf jeden Klick innerhalb eines LI-Elements. Das führt dazu, dass sich der Zustand (auf-/ zugeklappt) eines Knoten auch dann ändert, wenn man die Seite auswählt.
Ich hätte aber gerne, dass sich dann nichts am Zustand des jeweiligen Knotens ändert.
Wie kann ich das am besten/ einfachsten erreichen?
Meine Javascript-Kenntnisse gehen leider stark gegen Null, trotzdem würde ich den späteren Usern gerne ein möglichst "benutzerfreundliches" Menü offerieren - ich hoffe also auf eure freundliche Unterstützung!
Und wo wir gerade dabei sind: Ließe sich auch erreichen, dass der Knoten, welcher die aktuelle Seite beinhaltet, pauschal immer geöffnet angezeigt wird? Wenn ja, wie?
Vielen Dank für eure Hilfe!
Gruß Gunther
Hallo Gunther.
Mein Problem ist aber folgendes:
Ich habe jetzt in meinem Menü in etwa ja immer folgende Struktur (2 Links eingeschlossen in ein LI-Element):
<li class="nm_dir"><a href="#" class="icon"> </a><a href="index.html" title="index">Index</a></li>
>
> Nun reagiert das Script aber auf jeden Klick innerhalb eines LI-Elements. Das führt dazu, dass sich der Zustand (auf-/ zugeklappt) eines Knoten auch dann ändert, wenn man die Seite auswählt.
Vielleicht hilft dir [Gernots Fassung](http://forum.de.selfhtml.org/archiv/2006/7/t133869/#m868225) weiter.
Einen schönen Mittwoch noch.
Gruß, Mathias
--
ie:% fl:| br:< va:) ls:& fo:) rl:( n4:~ ss:) de:] js:| mo:| zu:)
debian/rules
Hallo Mathias!
Mein Problem ist aber folgendes:
Ich habe jetzt in meinem Menü in etwa ja immer folgende Struktur (2 Links eingeschlossen in ein LI-Element):
<li class="nm_dir"><a href="#" class="icon"> </a><a href="index.html" title="index">Index</a></li>
> >
> > Nun reagiert das Script aber auf jeden Klick innerhalb eines LI-Elements. Das führt dazu, dass sich der Zustand (auf-/ zugeklappt) eines Knoten auch dann ändert, wenn man die Seite auswählt.
>
> Vielleicht hilft dir [Gernots Fassung](http://forum.de.selfhtml.org/archiv/2006/7/t133869/#m868225) weiter.
Ja, die macht im Prinzip genau das, was ich auch erreichen möchte (hmm ..., ist schon verwunderlich, dass ich die trotz ausführlicher vorheriger Suche nicht selbst gefunden habe).
Allerdings ist die sonstige Umsetzung mit den CSS Klassenzuordnungen/ -änderungen für meine Zwecke nicht so optimal gelöst.
Von daher würde ich schon gerne das ursprüngliche Script verwenden und entsprechend anpassen.
Daher nochmal meine Frage: Kann ich unterscheiden, und wenn ja wie, ob der User auf den ersten oder den zweiten Link geklickt hat, bzw. auf das LI-Element (also außerhalb des A-Elements) oder auf das A-Element?
Vielen Dank für deine Hilfe!
Gruß Gunther
Hallo!
Daher nochmal meine Frage: Kann ich unterscheiden, und wenn ja wie, ob der User auf den ersten oder den zweiten Link geklickt hat, bzw. auf das LI-Element (also außerhalb des A-Elements) oder auf das A-Element?
Also ich habe jetzt zumindest einen Teilerfolg erzielt.
Die "Lösung" des Problems besteht ganz einfach darin, dass ich auch sämtlichen A-Elementen im Menü ein onclick-Event verpasse. Und da die Funktion, die die Events behandelt nur auf die LI-Elemente reagiert, passiert also nichts, wenn man auf die A-Elemente geklickt hat. Wenn es auch noch eine "elegantere" (performantere) Lösung gibt, bin ich daran natürlich interessiert.
Bleibt noch der Punkt mit dem Ast der aktuellen Seite, dass dieser immer geöffnet ist/ bleibt.
Wie könnte ich das jetzt noch integrieren?
Gruß Gunther