2013-05-07 17 views
29

Cosa c'è che non va? Voglio cambiare l'opacità se #nav .drop è display:block;jQuery CSS Opacity

jQuery(document).ready(function(){ 
    if (jQuery('#nav .drop').css('display') === 'block') { 
     jQuery('#main').css('opacity') = '0.6'; 
    } 
}); 
+2

Prova questo jQuery ('# main'). css ({'opacità': 0.6}); – Sudz

+0

È questo per un menu a discesa? Presumibilmente se il drop non è 'display: block' è nascosto, quindi perché non impostarlo in modo permanente al 60% di opacità? O mi sta sfuggendo qualcosa? Sarebbe bello vedere un esempio funzionante di questo. –

risposta

61
jQuery('#main').css('opacity') = '0.6'; 

dovrebbe essere

jQuery('#main').css('opacity', '0.6'); 

Aggiornamento:

http://jsfiddle.net/GegMk/ se si digita nella casella di testo. Fai clic su, l'opacità cambia.

+0

sì, l'ho scoperto giusto in tempo, ma ancora non funziona. Qualche altra idea? – Mike

+5

Il valore di opacità non deve essere una stringa, quindi: 'jQuery (' # main '). Css (' opacity ', 0.6);' – interboy

17

prova con questo:

jQuery('#main').css({ opacity: 0.6 }); 
10

Prova questo:

jQuery('#main').css('opacity', '0.6'); 

o

jQuery('#main').css({'filter':'alpha(opacity=60)', 'zoom':'1', 'opacity':'0.6'}); 

se si desidera supportare IE7, IE8 e così via.

-1

provare a utilizzare .animate anziché .css o anche solo su opacity e lasciare .css sul display ?? può b

jQuery(document).ready(function(){ 
if (jQuery('#nav .drop').animate('display') === 'block') { 
    jQuery('#main').animate('opacity') = '0.6';