2010-08-07 33 views

Respuesta

282

Puede utilizar .delay() antes de una animación, como esto:

$("#myElem").show().delay(5000).fadeOut(); 

Si no es una animación, utilice setTimeout() directamente como aquí:

$("#myElem").show(); 
setTimeout(function() { $("#myElem").hide(); }, 5000); 

Usted hace el segundo porque .hide() wouldn' Normalmente, estará en la cola de animación (fx) sin duración, es solo un efecto instantáneo.

O, otra opción es utilizar .delay() y .queue() a sí mismo, así:

$("#myElem").show().delay(5000).queue(function(n) { 
    $(this).hide(); n(); 
}); 
+0

Excelentes soluciones – Imdad

+0

La sugerencia 2 funcionó perfectamente al mostrar un icono de marca de verificación y usar fadeOut() en lugar de ocultar(). Gran respuesta. –

+1

También puede hacer $ ("# myElem"). Show(). Delay (5000) .hide(); – wilsjd

13

Usted puede utilizar el efecto de abajo para animar, puede cambiar los valores según sus necesidades

$("#myElem").fadeIn('slow').animate({opacity: 1.0}, 1500).effect("pulsate", { times: 2 }, 800).fadeOut('slow'); 
Cuestiones relacionadas