2009-06-11 9 views
7

Ho una lista di elementi nella mia applicazione web; ognuno di questi ha un insieme di pulsanti di comando disposti sotto di esso.jQuery - dissolvenza dell'elemento in/out mantenendo il layout del flusso

Per mantenere l'interfaccia pulita, questi pulsanti visualizzati solo quando si passa sopra l'elemento. I pulsanti sono avvolti in un tag che ha il seguente attributo CSS: visibility: hidden

Questa conserva il layout- in modo che le voci di elenco non saltare in giro come i pulsanti vengono rivelati.

Quello che voglio fare è svanire i pulsanti in/out usando jQuery. Tuttavia, i metodi predefiniti (fadeIn(), fadeOut()) sembrano utilizzare display: none, che rimuove i pulsanti dal flusso.

Quello che mi serve è un modo per sfumare dentro o fuori l'attributo visibility. Quindi, prima di intraprendere una ricerca, qualcuno sa di un modo ovvio di fare ciò che mi manca?

Acclamazioni

risposta

1

Creare DIV wrapper vuoti (con dimensioni specificate) per gli elementi che stai sbiadendo. Dissolvi quello che c'è dentro. In alternativa, puoi sfumare all'1%, quindi occuperà ancora spazio, ma sarà appena visibile.

+0

Penso che questo sia probabilmente quello che finirò per fare; anche se penso che lo farò impostando un'altezza minima sull'elemento della lista contenente ... –

3

sembra $ (this) .fadeTo ("lento", 0); dovresti farlo, i documenti non dicono nulla sull'impostazione del display. Solo fadeOut() ha il display: nessuno; impostato nei documenti, ma dammi solo un momento e lo verificherò.

+0

'fadeTo' grandi opere, ma non in IE. –

15

rotolare il proprio dissolvenza, come questo:

$(this).animate({opacity: "0.0"}); 
Problemi correlati