In jQuery gibt es .hide()
und .show()
Methoden , die die CSS setzt display: none
Einstellung.
Gibt es eine äquivalente Funktion, die die visibility: hidden
Einstellung festlegen würde ?
Ich weiß, dass ich verwenden kann, .css()
aber ich bevorzuge eine Funktion wie .hide()
oder so. Vielen Dank.
.toggle()
Antworten:
Sie könnten Ihre eigenen Plugins erstellen.
Wenn Sie die ursprüngliche jQuery überladen möchten
toggle()
, was ich nicht empfehle ...jsFiddle .
quelle
toggle()
die andere Skripte brechen könnten. Wenn Sie möchten , können Sie ein zusätzliches Argument hinzufügen,toggle()
um anzugeben, ob umgeschaltet werden sollvisibility
oderdisplay
nicht. Ich würde jedoch nur die benutzerdefinierte in meinem letzten Beispiel verwenden. :)show
(Geschwindigkeit, Lockerung, Rückruf) veröffentlichen?(function() { })()
oder einem ähnlichen Skript verknüpft ist, wird ASI nicht aktiviert, da es wie ein Funktionsaufruf aussieht. Versuchen Sie dies und entfernen Sie das!
.Es gibt keine eingebaute, aber Sie können ganz einfach Ihre eigene schreiben:
Sie können dies dann so nennen:
Hier ist ein Arbeitsbeispiel .
quelle
(function($) {...}(jQuery));
Wrapper zu packen? Ich habe noch nie meine eigenen Funktionen in jQuery definiert, ich habe immer nur Funktionen in reinem JavaScript definiert.$
Bezeichner innerhalb der Funktion verwenden, auch wenn er sich auf etwas anderes im übergeordneten Bereich bezieht.Eine noch einfachere Möglichkeit, dies zu tun, ist die Verwendung von jQuery's toggleClass () -Methode von
CSS
HTML
JS
quelle
Wenn Sie nur die Standardfunktionalität von Ausblenden nur mit Sichtbarkeit benötigen: Ausgeblendet, um das aktuelle Layout beizubehalten, können Sie die Rückruffunktion von Ausblenden verwenden, um das CSS im Tag zu ändern. Dokumente in jquery ausblenden
Ein Beispiel :
Dies verwendet die normale coole Animation, um das Div auszublenden, aber nach Abschluss der Animation setzen Sie die Sichtbarkeit auf ausgeblendet und die Anzeige auf Blockieren.
Ein Beispiel : http://jsfiddle.net/bTkKG/1/
Ich weiß, dass Sie die Lösung $ ("# aa"). Css () nicht wollten, aber Sie haben nicht angegeben, ob dies daran liegt, dass Sie die Animation verlieren, wenn Sie nur die Methode css () verwenden.
quelle
Hier ist eine Implementierung, wie sie funktioniert
$.prop(name[,value])
oder$.attr(name[,value])
funktioniert. Wenn dieb
Variable gefüllt ist, wird die Sichtbarkeit entsprechend festgelegt undthis
zurückgegeben (um mit anderen Eigenschaften fortzufahren), andernfalls wird der Sichtbarkeitswert zurückgegeben.Beispiel:
quelle
Reines JS- Äquivalent für jQuery hide () / show ():
Wir verwenden
return el
aufgrund der fließenden Schnittstelle "Designmuster".Hier ist ein Arbeitsbeispiel .
Im Folgenden biete ich auch eine sehr nicht empfohlene Alternative an, die jedoch wahrscheinlich eher "nah an der Frage" ist:
Natürlich implementiert dies nicht jQuery 'each' (angegeben in @JamesAllardice Antwort von ), da wir hier reine js verwenden.
Arbeitsbeispiel ist hier .
quelle