Wechseln zwischen Symbolen bei der Verwendung von FontAwesome 5.0 SVG-Framework
Ich bin auf der Suche werden in der Lage, wechseln zwischen den icons im Javascript-während der Verwendung der neuen FontAwesome SVG-framework.
Zuvor in der alten WebFont Methode, dies wurde erreicht durch Umschalten oder ändern der Klasse auf den tag, aber da diese jetzt so dargestellt, als SVG ' s in der source-code dieser funktioniert nicht mehr.
Gibt es eine Möglichkeit, dies zu tun, ohne zu machen sowohl SVG-Symbole im Quellcode und die Verwendung zusätzlicher Klassen/CSS ausblenden?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Font Awesome 5.0.0 ist gerade veröffentlicht worden und die migration von 4.7 auf 5.0 ruiniert mein javascript/jquery zu ändern, eine "fa-star-o" - Symbol, um "fa-star", wenn der Benutzer darauf klickt.
Habe ich es geschafft, es zu beheben, deshalb wollte ich mit Ihnen teilen diese zwei Tipps:
Das Symbol im HTML-Format:
1) Symbol Ändern mit jQuery (aus "Stern" auf "Wecker" und vice versa):
2) Ändern icon-Stil mit jQuery (aus 'fas' zu 'weit'):
Hoffe, das hilft jemand mit dem gleichen Problem.
Geprüft mit FA 5.0.2
Modifizierte ich die original-Dokumentation finden Sie auf Font-Awesome website hier. Die Auswahl auf deren website war nicht die Auswahl der geeigneten element, so müssen wir das Attribut ändern.
HTML
HTML:
Die Klasse von dem div nicht wirklich wichtig, so viel wie wir es ändern können. Blick auf die javascript verwenden wir das element zu finden, das svg und speziell, suchen wir für den data-icon-Attribut. Sobald wir wissen, dass das data-Attribut, können wir es ändern, jedes mal, wenn darauf geklickt wird.
So, in diesem Fall, es beginnt mit der minus-square. Wenn das Symbol für das minus-square, es ändert an den plus-square. Wenn es nicht die plus-Platz, wird es ändern Sie es in die minus-square.
JQuery
JS:
Vorausgesetzt, Sie verwenden die empfohlene Methode mit dem fontawesome.js Blatt, ich fand dieses auf der offizielle Dokumentation:
Ändern Symbole durch ändern der Klasse:
Ich hatte das gleiche problem auch, und ich fand (nach rechts scrollen, um ganz am Ende), dass die FontAwesome Webseite besagt Folgendes:
Dazu einfach die
FontAwesomeConfig
- Objekt und stellen SieautoReplaceSvg: 'nest'
.Nicht finden, eine Dokumentation über diese.
Da es nicht offiziell veröffentlicht, aber Sie können diese Problemumgehung verwenden (jQuery):
Geprüft mit FA 5.0.0 über die empfohlene JS-Methode für das laden von icons
HTML
Dies ist, was der HTML-code aussieht, wenn die Seite gerendert wird, wird vor einem Klick:
JQUERY ("beim klicken verwendet)
Dies wird sich ändern, das Symbol von Auge-Schrägstrich zu Auge.
Edit: Dec 20, 2017
Als der Font-Awesome 5.0.1, wenn Sie mit der Javascript-version können Sie nun hinzufügen/entfernen von Klassen nach wie vor, es muss nur auf die svg element, anstatt das ursprüngliche element (vorausgesetzt ich).
Aktualisierten code:
Beachten Sie auch, dass alle verwendeten ids oder Klassen zu den font-awesome-element eingeleitet werden, über die svg. Also, wenn Sie haben
<i id='eyecon' class='eyecon fa fa-eye'>
dann machen wird es die<svg id='eyecon' class='eyecon'>
.Dies ist, was ich gefunden habe funktionierte für mich am besten. Ich war mit self-hosted-Fontawesome v5.7.1
HTML (Hinweis: zwei Symbole, eines mit .versteckte Klasse)
CSS
jQuery