2010-07-01 11 views
7

Sto cercando di dissolvenzaIn() un div che inizia su opacity: 0.1 o (filter: alpha(opacity = 10) in ie).jquery fadeIn() da opacità: 0.1 - possibile?

So che posso fare .animate({css.... con un if(supports opacity) ma sto cercando una soluzione di cross browser facile e veloce, e immagino che jquery ne abbia già uno?

risposta

11

È possibile farlo utilizzando .animate():

.animate({ opacity: 1 }); 

Non c'è bisogno di controllare $.support.opacity, si userà la versione alpha del filtro, se necessario, jQuery normalizza questo internamente. Per essere chiari, questo supporta tutti i browser, incluso IE. You can test it here.

Edit: rileggendo la tua domanda sembra che questi stili possono essere nel foglio di stile, non è fissato dal .css(), nel qual caso è sufficiente aggiungere un zoom: 1 per IE a svanire in modo corretto, you can view a demo of that here. Puoi vedere come funziona il coraggio here.

+0

insanguinato cioè, con lo zoom: 1 correzione ho sbiadito brillante, ma quando si tratta di riposare su Alfa 100 improvvisamente sembra orribile! Deve essere qualcosa a che fare con l'alfa di IE e l'immagine png trasparente usando. vabbè, penso che questo possa essere un abbellimento, ovvero gli utenti possono rinunciare (per ora)! Grazie per l'aiuto – Haroldo

2

È possibile impostare l'opacità utilizzando css poi iniziare il fadeIn

Ad es

yourElement.css('opacity', .1).fadeIn(); 
3
time = 1000; // time in ms to fade from 0.1 to 1 
$("#id").fadeTo(0, 0.1).fadeTo(time, 1) 
+0

FYI .. 'fadeTo' con durata di 0 equivale a chiamare' css ('opacity', ...) 'direttamente. Vedi [documentazione] (http://api.jquery.com/fadeTo) – Matt

+0

Ah. buon punto :) Hai messo in discussione la tua risposta. – Dogbert