Ändern fontawesome icons jquery on-the-fly
Habe ich eine Navigations-menu
, einige davon mit Untermenüs. Ich will das menuitem mit fa-chevron-down
(Pfeil nach unten icon) zu ändern, um zu fa-chevron-up
(Pfeil-Symbol), wenn der Benutzer klickt auf das Menü und die änderungen wieder zurück, wenn der Benutzer klickt irgendwo sonst. Plus ich habe auch zwei request,
1) Da bin ich sehr neu in jquery der jquery code, den ich schrieb scheint
den trick tun, aber gibt es eine bessere Möglichkeit? (beachten Sie, wenn ein Menüpunkt angeklickt wird zweimal die Gleit-statt zweimal. SEINE LÄSTIGE)2) Wenn der Benutzer die Fenstergröße ändert die html-Elemente doesnot bleibt an Ort und Stelle
und streut.
Vielen Dank im Voraus.
UPDATE :
Vielen Dank für die Lösung meines Problems. Ich verfeinerte mein problem weiter und es funktioniert perfekt. Hier ist der Letzte** JSFIDDLE**
- Ich habe die jsfiddle. Ich habe nicht den code aktualisieren!
Du musst angemeldet sein, um einen Kommentar abzugeben.
Für das ändern der Ikone, die Sie leicht tun können, so etwas in Ihr Klick-Ereignis:
Weitere nehmen Sie einen Blick auf jsfiddle Beispiel:
jsfiddle-Beispiel
$('.fa').attr('class','fa fa-chevron-up');
Ich denke, es gibt keine Notwendigkeit für die änderung der Klasse.
Wenn Sie nur wollen, ändern Sie die
fa-chevron-down
zufa-chevron-up
Symbol, statt der Umstellung der Klassen, benutzen Sie einfachtoggleClass
fürfa-rotate-180
.fa-rotate-180
dreht sich das icon und es vielleicht lösen Ihren Zweck. Keine Notwendigkeit für das hinzufügen/entfernen einzelner Klassen.Sagen wir mal:
Es ist nur ein Beispiel. Sie können es umgehen.
i
tag, wenn darauf geklickt wurdea
tag in diesem code<a href="#"><i class="fa fa-chevron-up"></i></a>
.Font Awesome v5 geändert hat, die Dinge ein wenig Recht.
Dies ist der code, den ich verwendet, um einen plus - /minus-Schaltfläche ausblenden arbeiten mit Bootstrap, JQuery und FontAwesome.
HTML:
JQuery-Skript:
Sollten Sie in der Lage sein zu ersetzen, plus/minus für chevron nach oben und unten.