jQuery UI - eine Swap-Funktion, die versteckt und blendet Elemente durch den Wähler
-
03-07-2019 - |
Frage
Vorwort: Ich habe jQuery und jQuery UI auf einer externen Seite
.Ich habe diese Funktion definiert:
function swap(sel) {
if (1 == 1) {
$(sel).hide('drop',{direction:'left'});
}
}
Wie kann ich beheben, um den (1 == 1) Teil zu sehen, zu testen, ob das Element bereits versteckt und es dann zurück zu bringen, wenn es ist. Ich bin sicher, dies ist einfach, aber ich bin neu in jQuery.
Lösung
, wenn Sie nicht toggle
mögen, dann kann dieser Ihnen helfen:
function swap(sel) {
if($(sel).is(':visible')) {
$(sel).hide('drop',{direction:'left'});
} else {
$(sel).show('drop',{direction:'left'});
}
}
Andere Tipps
Vielleicht $(sel).toggle();
ist, was Sie suchen? Das ist die beste Art und Weise eines Elements Sichtbarkeit zu wechseln.
Wie die anderen Beantworter gesagt haben, toggle()
ist die beste Lösung. Wenn jedoch aus irgendeinem Grunde nicht / nicht will, Knebel verwenden, und wenn Ihr Selektor ist für nur ein Element:
function swap(sel) {
if ($(sel).is(':visible')) { // Is this element visible?
$(sel).hide('drop',{direction:'left'});
}
}
Caveat: Die: Sichtkontrolle wird ein falsch positives zurück, wenn das Element oder einem seiner Eltern :hidden
sind. Wenn das für Sie wichtig ist, sollten Sie href="http://remysharp.com/2008/10/17/jquery-really-visible/" rel="nofollow noreferrer"> lesen Sie in dieser Lösung , die für alle, dass, wie auch zu überprüfen versucht.