2009-07-15 13 views
30

Was ist der einfachste Weg, programmgesteuert den aktuellen Umschaltstatus eines DOM-Elements zu finden, wenn die Funktion slideToggle() in jquery 1.3.2 verwendet wird?JQuery slideToggle() aktuelle Eigenschaft anzeigen/verbergen?

Ich erwartete, dass es eine Eigenschaft dafür gibt, aber ich kann nicht scheinen, einen zu finden. Das direkte Überprüfen der CSS-Anzeige oder -Höhe scheint wie ein Hack zu sein, aber vielleicht sollte man das auch tun.

Antwort

52

Ich glaube, Sie so etwas tun kann,

if($("#panel").is(":hidden")) 
{ 
    // do stuff 
} 
+0

ich tatsächlich mit der Überprüfung der CSS-Eigenschaft display gegangen war, aber dies wäre sauberer sein. –

+9

Beachten Sie, dass ["nach dem Aufruf von SlideToggle(), versteckt immer IMMER false unabhängig vom Status zurückgegeben wird.] (Https://forum.jquery.com/topic/state-of-slidetoggle). Überprüfen Sie nur' is (" : versteckt "))' vor dem Aufruf '.slideToggle();'. –

+0

Danke @AdamHuffman, hatte genau dieses Problem und rief es an, bevor es behoben wurde. –