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.

War es hilfreich?

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

Warum Sie nicht verwenden Toggle () ?

Zum Beispiel:

function swap(sel) {
  $(sel).toggle();
} 

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.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top