Ich habe diese einfache Version des Bootstrap- Akkordeons eingerichtet :
Einfaches Akkordeon: http://jsfiddle.net/darrenc/cngPS/
Derzeit zeigt das Symbol nur nach unten , aber weiß jemand, welche JS implementiert werden muss, um die Klasse des Symbols in Folgendes zu ändern:
<i class="icon-chevron-up"></i>
... so dass er zeigt nach oben , wenn erweitert und wechselt zurück zu nach unten wieder , wenn zusammenbrach, und so vierten?
javascript
jquery
twitter-bootstrap
Darren
quelle
quelle
.bs.collapse
. Ich habe es auch geändert,shown and hidden to show and hide
damit die Animation vor dem Öffnen des Akkordeons erfolgt.Hier ist mein Ansatz für Bootstrap 2.x. Es ist nur ein CSS. Kein JavaScript erforderlich:
Fügen Sie der Akkordeon-Gruppe div einfach die Klasse Akkordeon-Caret hinzu :
quelle
Der Bootstrap-Zusammenbruch enthält einige Ereignisse, auf die Sie reagieren können:
quelle
Verwenden Sie den CSSes-Pseudo-Selektor: Nachdem Sie die integrierten Glyphicons von Bootstrap 3 für eine Antwort ohne JS mit geringfügigen Änderungen an Ihrem HTML- Code verwendet haben ...
CSS
HTML
Fügen Sie
class="collapsed"
Anker-Tags hinzu, die standardmäßig geschlossen sind.Dadurch werden Anker wie z
in
CodePen Live-Beispiel
http://codepen.io/anon/pen/VYobER
Bildschirmfoto
quelle
Zu @muffls Antwort hinzugefügt, damit dies bei allen Twitter-Bootstrap-Kollaps funktioniert und die Änderung am Pfeil vor Beginn der Animation vorgenommen wird.
Abhängig von Ihrer HTML-Struktur müssen Sie möglicherweise die ändern
parent()
.quelle
Ich denke, die besten Codes sind diese:
quelle
Wenn jemand interessiert ist, machen Sie das mit BS3 so, da er die Ereignisnamen geändert hat:
Sie ändern einfach die Klassennamen im Beispiel in die Namen, die Sie in Ihrem Fall verwenden.
quelle
Die am besten lesbare Nur-CSS-Lösung wäre wahrscheinlich die Verwendung des arienerweiterten Attributs. Denken Sie daran, dass Sie allen Collapse-Elementen aria-expand = "false" hinzufügen müssen, da dies nicht beim Laden festgelegt wird (nur beim ersten Klick).
Der HTML:
Das CSS:
Funktioniert mit Bootstrap 3.x.
quelle
Hier ist meine Lösung, die von einer von @ john-magnolia veröffentlichten weiter verfeinert wurde und einige ihrer Probleme löst
Und hier ist das Beispiel-Markup:
quelle
Eine Bootstrap v3-Lösung (bei der die Ereignisse unterschiedliche Namen haben), die auch nur einen jQuery-Selektor verwendet (wie hier gezeigt ):
quelle
So mache ich es ohne js.
Ich habe das Symbol Glyphicon-Dreieck rechts verwendet, aber es funktioniert mit jedem anderen Symbol. Es bewirkt, dass das Symbol um 90 Grad gedreht wird, wenn das Bedienfeld geöffnet ist oder nicht. Ich benutze Bootstrap 3.3.5 für diesen.
CSS-Code
Dies ist die HTML-Struktur aus dem Bootstrap-Beispiel
quelle
Keines der oben genannten hat bei mir funktioniert, aber ich habe es mir ausgedacht und es hat funktioniert:
HTML-Implementierung:
quelle
@ RobSadler:
RE Martin Wickmans CSS-Version ...
Sie können dieses Problem umgehen, indem Sie Akkordeon-Caret auf das Ankertag setzen und ihm standardmäßig eine reduzierte Klasse geben. Wie so:
Das hat bei mir funktioniert.
quelle
Für Bootstrup 3.2 + FontAwesome
Manchmal muss man so schreiben. Wenn ja
Automatisch generiert (class = "reduziert"), wenn Sie auf das Menü "Ausblenden" klicken.
ps, wenn Sie ein Baummenü erstellen müssen
quelle
Dies wurde auf zahlreiche Arten beantwortet, aber was ich mir ausgedacht habe, war das einfachste und einfachste für mich mit Bootstrap 3 und einer fantastischen Schriftart. Ich habe es gerade getan
Dadurch wird nur die CSS-Klasse des Symbols umgeschaltet, das ich anzeigen möchte. Ich füge die Klasse toggler zu dem Element hinzu, auf das ich dies anwenden möchte. Dies kann zu jedem Element hinzugefügt werden, bei dem Sie ein Symbol umschalten möchten.
quelle
Eine weitere No-Javascript-Lösung, die die Collapse-Funktionalität selbst verwendet:
quelle
Für eine reine CSS-Lösung (und ohne Symbole) mit Bootstrap 3 musste ich ein bisschen herumspielen, basierend auf der obigen Antwort von Martin Wickman.
Ich habe die Akkordeon- * Notation nicht verwendet, da sie mit Panels in BS3 erstellt wurde.
Außerdem musste ich in das anfängliche HTML aria-expand = "true" für das Element aufnehmen, das beim Laden der Seite geöffnet ist.
Hier ist das CSS, das ich verwendet habe.
Hier ist mein bereinigtes HTML:
quelle
Kürzestmögliche Antwort.
HTML
JS:
Und natürlich können Sie alles für einen Selektor anstelle eines Ankertags verwenden,
a
und Sie können auch einen bestimmten Selektor verwenden, anstattthis
wenn Ihr Symbol außerhalb Ihres angeklickten Elements liegt.quelle