2010-08-07 13 views

risposta

282

È possibile utilizzare .delay() prima di un'animazione, come questo:

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

Se non è un'animazione, utilizzare setTimeout() direttamente, in questo modo:

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

Tu fai il secondo perché .hide() wouldn' normalmente si trova nella coda di animazione (fx) senza una durata, è solo un effetto istantaneo.

Oppure, un'altra opzione è quella di utilizzare .delay() e .queue() te stesso, in questo modo:

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

Soluzioni eccellenti – Imdad

+0

Suggerimento 2 ha funzionato perfettamente con l'icona di un segno di spunta e utilizzando fadeOut() invece di hide(). Bella risposta. –

+1

Puoi anche fare $ ("# myElem"). Show(). Delay (5000) .hide(); – wilsjd

13

È possibile utilizzare l'effetto di seguito per animare, è possibile modificare i valori secondo i vostri requisiti

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