2012-08-24 12 views
5

Pregunta simple: ¿cómo sabe jQuery qué modo de visualización debería usar un elemento al usar fadeIn?¿Cómo sabe jQuery FadeIn el modo de visualización utilizado?

Lo que quiero decir, es que parece utilizar el modo de visualización adecuado para cualquier elemento que fadeIn, aun cuando establece display:noneinicialmente en mi CSS - imágenes están utilizando en línea, divs están utilizando bloques, etc.

Miré el código fuente de jQuery en GitHub, pero no pude encontrar lo que estaba buscando.

Motivo que pido es porque estoy creando un pequeño complemento yo mismo, usando fade (pero con Animate, ya que hay más de 1 propiedad que necesita animación).

Respuesta

6

Utiliza $.data almacenarlo:

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

El guión bajo significa que se puede acceder a los datos que normalmente no está disponible a través de $.data o $.fn.data. Básicamente esto es solo para uso interno y no debes tocarlo.

Si el elemento se establece en display:none través de CSS y se desvanecen en, jQuery todavía sabe para que sea inline etc. En este caso, se utiliza la función

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

lo que daría para un "inline"nodeName === "span"

+0

¿Cuándo se asignan estos datos? – Jeff

+0

@Jeff cuando llamas a '.hide()' – Esailija

+1

Por lo general, configuro la visualización: ninguna en todos los elementos que planeo fundir más tarde, en CSS, y parece que todavía funciona? – Jeff