Ausklappmenü mit Icon, das sich ändert
Frank
- javascript
Hallo da draußen!
Ich hab folgendes Problem, ich versuche ein Menü mit mehreren Unterpunkten zu erstellen. Dabei hat ein übergeordneter Punkt einen kleinen gelben Pfeil, welcher nach rechts zeigt. Klicke ich jetzt dieses Feld an, soll der Pfeil nach unten, auf die weiteren Menüpunkte zeigen.
Ich war den ganzen Tag im Web unterwegs, hab etliche Scripte ausprobiert, aber nichts hat so ausgesehen wie ich mir das vorgestellt habe.
Vielleicht hat hier jemand eine Ahnung.
Ich danke im Voraus für Codevorschläge.
Grüße vom Frank
Hi.
Zuallererst solltest du eine HTML-Struktur basteln. Z. B. so:
<div name="hauptpunkt" class="mainpoint"><div class="pointtxt"><img src="right.gif" name="hauptpunkt_0"> Mein Menüpunkt</div>
<span name="hauptpunkt_sub" style="display:none;">
<div class="subpoint"></div>
</span>
</div>
...
Und dann bastest du dir via getElementsByName und entsprechenden Abfragen die Funktionen ein. Z. B:
var o = document.getElementsByName("hauptpunkt")
for(var l = 0;l<o.length-1;l++)
{
l.OnMouseDown="opennode(this)"
}
Mit opennode kannst du dann abfragen, welches das SrcElement ist.
Mein JS ist zwar jetzt schon ein wenig eingerostet. Aber ich denke mal, dass es so ginge.
MFG
Griever
Hallo Griever,
Zuallererst solltest du eine HTML-Struktur basteln. Z. B. so:
nein. So lieber nicht. Das, was Du da vorgeschlagen hast, ist weder HTML noch Javascript, sondern nur deine Phantasie. DIVs und SPANs haben, so weit ich weiß, keine Namen und DIVs haben in SPANs nichts zu suchen. Das Javascript zu korrigieren lohnt nicht.
Gruß, Jürgen
PS @Frank: Sorry, aber für dein Problem habe ich keine Lösung.
Hallo.
Danke an alle, ich werde die Lösung von Mathias mal ausprobieren. So ein Menü hatte ich ja schonmal versucht, aber selbst mit Copy&Paste wollte es nicht funktionieren...
Ich danke euch.
Gruß
Frank
Mal wieder ein Griever Schnellschuss.
Zuallererst solltest du eine HTML-Struktur basteln. Z. B. so:
<div name="hauptpunkt" class="mainpoint"><div class="pointtxt"><img src="right.gif" name="hauptpunkt_0"> Mein Menüpunkt</div>
<span name="hauptpunkt_sub" style="display:none;">
<div class="subpoint"></div>
</span>
</div>
...
Warum keine Listen?
Du hast schon, mal von "Divsuppen" gehört?
Du weißt das das name Attribut kein Standardattribut ist und nur für wenige Elemente erlaubt ist? (je nach DOCTYPE)
Und dann bastest du dir via getElementsByName und entsprechenden Abfragen die Funktionen ein. Z. B:
var o = document.getElementsByName("hauptpunkt")
Da du immer darauf bestehst (bzw. bestanden hast), dass deine Skripte nur im IE funktionieren müssen, wundert mich das. Den Ausnahmsweise hält sich der IE in diesen Punkt an den Standard. Elemente, die kein name Attribut haben (z.b. DIV oder SPAN), können mit getElementsByName nicht angesprochen werden.
for(var l = 0;l<o.length-1;l++)
Mit dieser Schleife vergisst du ein Element
{
l.OnMouseDown="opennode(this)"
}
Der Eventhandler wird in JS kleingeschrieben (JS ist case sensitive!) ausserdem erwartet er eine Funktionsreferenz und keinen String und this stünde in der Funktion automatisch zu Verfügung, als Parameter ist er hier nicht geeignet (wow, 3 Fehler in einer Zeile)
Mit opennode kannst du dann abfragen, welches das SrcElement ist.
Wenn alles richtig wäre, wäre in opennode this gleich dem "SrcElement"
Mein JS ist zwar jetzt schon ein wenig eingerostet. Aber ich denke mal, dass es so ginge.
Eingerostet würd ich das nicht nennen, vergessen, wäre der passendere Ausdruck.
Struppi.
n'abend,
Ich hab folgendes Problem, ich versuche ein Menü mit mehreren Unterpunkten zu erstellen. Dabei hat ein übergeordneter Punkt einen kleinen gelben Pfeil, welcher nach rechts zeigt. Klicke ich jetzt dieses Feld an, soll der Pfeil nach unten, auf die weiteren Menüpunkte zeigen.
»»
Ich danke im Voraus für Codevorschläge.
Welchen der zehntausend hätten Sie denn gerne?
Beschreibe (oder poste) doch mal bitte was du bis jetzt hast und welchen Weg du dir vorstellst.
Ich für meinen Teil würde das mit einigen verschachtelten <ul>s, etwas mehr CSS und ein wenig JS realisieren... man könnte aber auch lauter <div>s und <span>s nehmen, und oder CSS weglassen, etc etc. Viele Wege führen nach Rom.
weiterhin schönen abend...
Hallo Frank.
Ich hab folgendes Problem, ich versuche ein Menü mit mehreren Unterpunkten zu erstellen. Dabei hat ein übergeordneter Punkt einen kleinen gelben Pfeil, welcher nach rechts zeigt. Klicke ich jetzt dieses Feld an, soll der Pfeil nach unten, auf die weiteren Menüpunkte zeigen.
Also eine Ausklappnavigation wie Gernot und Felix sie erstellt haben.
Einen schönen Montag noch.
Gruß, Mathias