Jquery fadeIn () en un DIV con estilo de opacidad ya establecido
Frecuentes
Visto 1,011 veces
0
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.
4 Respuestas
1
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
0
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
0
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
0
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 javascript jquery css or haz tu propia pregunta.
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