2012-08-24 11 views
5

Proste pytanie: W jaki sposób jQuery wie, z jakiego trybu wyświetlania element powinien korzystać podczas korzystania z fadeIn?W jaki sposób jQuery FadeIn zna używany tryb wyświetlania?

Co mam na myśli to, że wydaje się, aby użyć właściwego trybu wyświetlania dla każdego elementu, który ja fadeIn, nawet kiedy ustawić display:nonepoczątkowo w moim CSS - zdjęcia używasz inline, div są przy użyciu bloku itp

Sprawdziłem kod źródłowy jQuery na GitHub, ale nie mogłem znaleźć tego, czego szukałem.

Powód, o który pytam, polega na tym, że sam robię małą wtyczkę, używając funkcji zanikania (ale w programie Animate, ponieważ istnieje więcej niż jedna właściwość wymagająca animacji).

Odpowiedz

6

Wykorzystuje $.data przechowywać go:

console.log($._data(elem, "olddisplay")); 

podkreślenia oznacza, że ​​może uzyskać dostęp do danych, które nie są normalnie dostępne przez $.data lub $.fn.data. Zasadniczo jest to tylko do użytku wewnętrznego i nie należy go dotykać.

Jeśli element jest ustawiony na display:none poprzez CSS, a znikną go, jQuery nadal nie wie, aby to inline itp W tym przypadku wykorzystuje funkcję

// Try to determine the default display value of an element 
function css_defaultDisplay(nodeName) { 

co dałoby "inline" dla nodeName === "span"

+0

Kiedy są przypisywane te dane? – Jeff

+0

@Jeff po wywołaniu '.hide()' – Esailija

+1

Zwykle ustawiam wyświetlanie: none we wszystkich elementach, które planuję zanikać później, w CSS i nadal wydaje się działać? – Jeff

Powiązane problemy