2013-04-15 14 views
7

C'è qualche differenza tra l'implementazione dei metodi JQuery fadeIn() e show()? ovviamente oltre al fatto che fadeIn ha quell'animazione in corso. Sto facendo questa domanda perché sto vedendo un comportamento strano.JQuery fadeIn vs show difference difference

Ho alcune viste backbone in cui sto creando un tag immagine e li sto caricando. Quando voglio mostrarli, funzionano su fadeIn() ma non su show(). Quindi è il problema con il mio codice o il modo in cui JQuery lo implementa.

+2

È raramente un bug con qualsiasi libreria utilizzata (ma non impossibile). Riuscirai a ricrearlo in un ambiente come [jsfiddle] (http://jsfiddle.net/)? – ajp15243

+0

Potrebbe non essere un bug, dicendo fadeIn non stai promettendo un'implementazione simile per mostrare il metodo – sublime

risposta

8

Chiamare show senza passare alcun argomento equivale a chiamare .css('display', 'block'). Se il tuoè impostato su 0, non vedrai ancora l'elemento.

Tuttavia, secondo il documentation:

Quando è prevista una durata, un oggetto semplice, o una funzione "completo", .show() diventa un metodo di animazione. Il metodo .show() anima simultaneamente la larghezza, l'altezza e l'opacità degli elementi corrispondenti.

Quindi, se si vuole .show a comportarsi come .fadeIn, è necessario passare un parametro ad esso.

+0

hai ragione !! l'opacità è 0 non è sicuro di cosa lo imposta a 0 però. Grazie – sublime

+0

@sublime Anche in passato mi ha fatto inciampare. :) – Stephen