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

¿Fue útil?

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);
});
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top