2013-04-15 11 views
7

Czy istnieją rzeczywiste różnice między metodami JQuery fadeIn() i show()? oczywiście inne niż fakt, że fadeIn ma tę animację. Zadaję to pytanie, ponieważ widzę dziwne zachowanie.JQuery fadeIn vs pokaż różnicę metod

Mam pewne widoki szkieletowe, w których utworzę tag obrazu i ładuję je. Kiedy chcę je pokazać, działają na fadeIn(), ale nie na show(). Więc jest to problem z moim kodem lub sposobem, w jaki JQuery go implementuje.

+2

Rzadko jest to błąd związany z używanymi bibliotekami (ale nie jest to niemożliwe). Czy możesz odtworzyć go w środowisku takim jak [jsfiddle] (http://jsfiddle.net/)? – ajp15243

+0

To może nie być błąd, mówiąc fadeIn nie obiecujesz podobnej implementacji, aby pokazać metodę – sublime

Odpowiedz

8

Wywołanie show bez przekazywania jakichkolwiek argumentów jest równoznaczne z wywołaniem .css('display', 'block'). Jeśli Twój opacity jest ustawiony na 0, nadal nie zobaczysz elementu.

Jednak według documentation:

Podczas trwania, zwykły obiekt lub funkcja „kompletna”, to do .pokaż() staje się sposobu animacji. Metoda .show() animuje jednocześnie szerokość, wysokość i krycie dopasowanych elementów.

Tak więc, jeśli chcesz .show zachowywać się jak .fadeIn, trzeba przekazać parametr do niego.

+0

jesteś tuż! nieprzezroczystość wynosi 0, ale nie jest pewne, co ustawia na 0. Dziękuję – sublime

+0

@sublime To też mnie potknęło w przeszłości. :) – Stephen