jQuery .show () - eine flex-box
Habe ich ein element mit einem flexbox -
<ul id="myFlexbox">
div#myFlexbox{
display:flex;
}
nach verstecken es und zeigen es, es wird versaut.
$('#myFlexbox').show();
nun das element verfügt über ein display-block anstelle von flex.
<ul id="myFlexbox" style="display: block;">
Wie kann ich das nutzen .verbergen und .Karte mit flexboxes?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den
show()
fügtdisplay:block
als Standard fürdiv
. Sie können ändern Sie diedisplay
zuflex
mit jQuerycss()
:.show()
.JQuery
.show()
weiß nicht, über Ihredisplay: flex;
(nicht flexbox). Stattdessen versuchen Sie, hinzufügen und entfernen Sie ein Versteck Klasse.CSS:
JS:
https://jsfiddle.net/p2msLqtt/
Sonst müssen Sie ausführen Ihre JS, nachdem die CSS vollständig geladen und das DOM bereit ist, Schätze ich, heißt wie:
Aktualisiert die fiddle und setzen Sie die Ausführung von Javascript zu domready - es funktioniert:
https://jsfiddle.net/p2msLqtt/1/
Sollten Sie wickeln Sie Ihre
display: flex
Inhalte mit einem element.binden Sie Ihr javascript ein - /ausblenden auf '#flexWrapper'
Da andere Antworten nicht berücksichtigt, für die Möglichkeit, dass du vielleicht die
duration
argument...Kurze Antwort: Verwenden .ausblenden für das verstecken der Wert und das sollte nicht passieren.
Eine kleine Erklärung:
Aus Dokumentation, Geändert 'inline' zu 'flex' zu passen, die contenxt!
So jQuery weiß, was Sie verbergen! Wenn Sie verborgen haben es mit .ausblenden ist, Und Sie weiß, wie Sie Sie wieder einblenden, mit der rechten display-Wert.
display:none
und verwenden Sie dann die.show()
Methode, um es zu bringen in den Blick.verwenden Sie einfach
wenn jquery hinzufügen styl css-attribut angewendet werden, die perfekt funktioniert auf Chrome und Mozilla
Den
class
Lösung funktioniert, ja.Hier ist ein anderer Ansatz, die ich kam mit:
Javascript-Funktion
Zu verwenden:
Beispiel:
https://codepen.io/florantara/pen/aLeyYb/
Die Idee ist, erstellen Sie eine benutzerdefinierte Funktion
showFlex()
ähnlich wie jQueryshow()
und rufen Sie es mit dem element, das müssen diedisplay:flex;
Eigenschaft.jQuery-Lösung
$('#myFlexbox').showFlex();
JavaScript-Lösung
document.getElementById('myFlexbox').showFlex();
Hoffe, das hilft.
$.fn.showFlex = function(){ this.css({'display':'flex'}); }