Estoy mostrando un cuadro de mensaje en un sitio web. Me gustaría poder tener un fadeout al hacer clic o después de X segundos. El problema es que la función delay()
toma el lugar sobre la función click()
por lo que incluso si hace clic en cerrar, todavía tiene que esperar el tiempo.jQuery Fadeout al hacer clic o después de la demora
Aquí es el jQuery
$(document).ready(function() {
$(".close-green").click(function() {
$("#message-green").fadeOut("slow");
});
//fade out in 5 seconds if not closed
$("#message-green").delay(5000).fadeOut("slow");
})
También he creado un jsFiddle sencilla. Para ver el comentario problema de la línea de retardo http://jsfiddle.net/BandonRandon/VRYBk/1/
posible duplicado de [retardo efectos jQuery] (http://stackoverflow.com/questions/251204/delay-jquery-effects) – swilliams
@swilliams eso no es ni siquiera cerca de lo mismo . Esa persona quiere saber CÓMO retrasar una animación, el OP ya sabe cómo pero quiere saber cómo evitar el retraso si un evento tiene lugar antes de que termine el retraso. –