2010-08-27 15 views

Respuesta

37

Prueba esto:

$("#microcharcounter").delay(10000).show(0); 

o esto:

$("#microcharcounter").delay(10000).queue(function(n) { 
    $(this).show(); 
    n(); 
}); 

La razón de esto es que sólo se retrasará .delay() artículos en una cola de animación. Para que pueda hacer .show() una animación corta agregando una duración de '0', o agregarla a la cola con .queue().

+4

¡Si hace colas manualmente, no olvide dequear! :) –

+0

@Nick - Acaba de agregar 'n();', pero ¿es necesario cuando es el último elemento? – user113716

+0

Sí, si alguna vez llama a otra animación más tarde, por ejemplo, lo mejor es estar seguro IMO, alternativamente puede llamar a '$ (this) .show(). Dequeue()', eso es lo que tiendo a hacer cuando trato con '$ (esto) ', un poco más limpio para mí de todos modos. –

13

Puede hacerlo de esta manera:

setTimeout(function() { 
    $("#microcharcounter").show(); 
}, 20000); 

El problema con .delay() y .show() (sin duración), es que .show() no es una animación, que es un efecto inmediato que no está en la cola de fx en todas. Sin embargo, puede darle una duración, como esta:

$("#microcharcounter").delay(20000).show("fast"); 
+0

Siempre buscando retraso en google cuando necesito usar setTimeout. Así que esta publicación me ha ayudado un par de veces :) – Kimtho6

Cuestiones relacionadas