2010-12-16 7 views
1

Wie testen Sie, ob ein Div eine Opazität = 0 hat?jQuery bedingte Deckkraft?

Ich habe versucht:

if (jQuery("#slideshow div#prev").css({opacity: 0})) 
    { 
jQuery("#slideshow div#prev").animate({opacity: 1.0}, 500); 
    } 

aber es scheint, um die Animation selbst abzufeuern, wenn die Opazität 1.0 ist bereits?

+0

Da "prev" bereits eine ID ist, ist das einzige, was Sie in der Auswahl benötigen, "#prev" –

Antwort

5

Verwendung css('opacity'):

if (!jQuery("#slideshow div#prev").css('opacity')) { 
    jQuery("#slideshow div#prev").animate({opacity: 1.0}, 500); 
} 

Dieser Code überprüft, ob der Rückgabewert von .css('opacity') falsy ist, wenn es ist, dann entweder die CSS nicht gesetzt worden ist oder sich der Wert falsy, in dem Fall, dass Sie würde wollen fortfahren und führen Sie die animate Aufruf.

1

korrekte Syntax würde

if (!jQuery("#slideshow div#prev").css('opacity')) 
    { 
     jQuery("#slideshow div#prev").animate({opacity: 1.0}, 500); 
    } 

css ('Opazität') würde 0 zurück und wenn() Bedingung wird wahr werden.

+1

Ihre Bedingung ist völlig falsch. '0 == false', so dass die Bedingung" false "wäre, wenn die Opazität" 0 "ist. Also würde dieser Code die Deckkraft nur dann auf "1" setzen, wenn sie bereits "1" ist? WTF –

+0

Entschuldigung, habe den Code korrigiert. – Tarun

Verwandte Themen