El efecto de resaltado de jQuery con modo de ocultación no funciona en IE
Pregunta
Tengo un div para mostrar un mensaje, quiero que el mensaje aparezca durante unos segundos y luego se desvanece hasta que desaparece.
Acabo de definir un div normal y lo oculto cuando la página se carga con $ ('# mydiv'). hide ();
Tengo un botón para mostrar el div con el efecto deseado, para esto estoy usando:
$('#myDiv').fadeIn('fast').effect("highlight", { color: "green", mode:"hide" }, 5000);
Esto funciona perfectamente en Firefox y Chrome, pero en IE (lo probé en 6, 7 y 8) funciona solo la primera vez, después de eso no mostrará el mensaje.
Si no hay forma de lograr esto en IE, me gustaría saber cómo puedo hacer un fadeOut o algo así DESPUÉS de que el punto culminante haya terminado.
Gracias por tu ayuda
Solución
Parece que este ticket jQuery está relacionado con su problema.
La solución que encontré es agregar
$('#myDiv').removeAttr('style');
antes
$('#myDiv').fadeIn('fast')
.effect("highlight", { color: "green", mode:"hide" }, 5000);
para borrar el problema del filtro de IE.
Otros consejos
En términos generales, no encadena los efectos. Probablemente desee utilizar una devolución de llamada en su lugar:
$('#myDiv').fadeIn('fast', function() {
$(this).effect("highlight", { color: "green", mode:"hide" }, 5000);
});