Jquery fadeIn () en un DIV con estilo de opacidad ya establecido

Tengo un DIV que se crea dinámicamente en código javascript con el siguiente conjunto de estilos:

-ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
-moz-opacity: 0;
-khtml-opacity: 0;
opacity: 0;

Quiero desvanecerme en el DIV usando Jquery, pero no funciona. El DIV todavía tiene opacidad: 0. No puedo usar fadeOut en el div porque se crea dinámicamente y necesito fadeIn inmediatamente después de que se haya cargado la imagen en el DIV.

Hay alguna solución para este problema.

preguntado el 02 de enero de 13 a las 19:01

4 Respuestas

Simplemente reinicie el CSS manualmente y luego desvanézcalo:

$("#myDiv").css({"-ms-filter": "progid:DXImageTransform.Microsoft.Alpha(Opacity=1)", "-moz-opacity": 1, "-khtml-opacity": 1, "opacity": 1, "visibility": hidden}).fadeOut(0, function(){

     $(this).css({"visibility": "visible"}).fadeIn();
})

Lo uso mucho para las cosas que necesito para comenzar ocultas y luego desvanecerse.

Respondido el 02 de enero de 13 a las 19:01

el problema es que la visibilidad: visible muestra el contenido de inmediato y, por lo tanto, no puedo ver el desvanecimiento que se lleva a cabo: Liron Harel

fadeOus tampoco es bueno porque javascript aún no ha creado el div y ahora está en el formulario todavía: Liron Harel

Este me funciona stackoverflow.com/questions/2435751/… - ¿Es eso lo que has querido decir? - Liron Harel

Lol, esa es una versión abreviada de exactamente lo que escribí, mire al final de la primera línea, hay un desvanecimiento (0), luego la visibilidad: visible y el desvanecimiento están en la devolución de llamada :) - EstebanRios

Utiliza animate preferiblemente.

$('#your_div_id').animate({opacity: 1});

Respondido el 02 de enero de 13 a las 19:01

No puedo, el div aún no se ha creado, y cuando lo haga, ya debería estar en la opacidad 0 de forma predeterminada: Liron Harel

utilizado animate DESPUÉS de haber creado el div para traerlo a la vista, después de que se cargue la imagen. A menos que no entienda, ¿estás tratando de mostrar el div o de ocultarlo? - Mathletics

Cuando el DIV se inserta por primera vez en el documento, no debería estar visible. El DIV contiene una imagen. Una vez que se inserta el DIV y se carga la imagen, se activa una función que debe desvanecerse en el DIV y la imagen que contiene. display:none no funciona porque arruina algunos cálculos de tamaño y no lo usaré. visibilidad: oculto parece bueno, pero cuando ejecuto fadeIn no funciona, Jquery no se desvanece en un DIV con visibilidad oculta. - Liron Harel

Bien, así que empieza con opacity: 0 y cambiar el opacity una vez cargada la imagen. - Mathletics

Podrías intentar cargar la imagen con display: none en lugar de jugar con la opacidad, luego difumínalo.

Respondido el 02 de enero de 13 a las 19:01

mostrar ninguno no es bueno porque hago algunos cálculos que no se pueden hacer en un div en un estado de pantalla: ninguno - Liron Harel

¡¿Pensé en usar un javascript en onload del div?! - Liron Harel

Puede usar liveQuery (complemento jquery): https://github.com/brandonaaron/livequery

"Live Query utiliza el poder de los selectores de jQuery vinculando eventos o activando devoluciones de llamadas para elementos coincidentes de forma automática, incluso después de que se haya cargado la página y se haya actualizado el DOM".

$('.someClass').livequery(function() { 
    /*a .someClass is created*/
    $(this).fadeIn();
});

liveQuery funciona bien!

Respondido el 02 de enero de 13 a las 19:01

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.