Parece que no puedo retrasar la presentación de un div. Quiero retrasar la animación en unos 20 segundos, ¿es esto posible?¿Cómo demorar la animación de jquery?
$("#microcharcounter").delay(10000).show();
Parece que no puedo retrasar la presentación de un div. Quiero retrasar la animación en unos 20 segundos, ¿es esto posible?¿Cómo demorar la animación de jquery?
$("#microcharcounter").delay(10000).show();
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()
.
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");
Siempre buscando retraso en google cuando necesito usar setTimeout. Así que esta publicación me ha ayudado un par de veces :) – Kimtho6
¡Si hace colas manualmente, no olvide dequear! :) –
@Nick - Acaba de agregar 'n();', pero ¿es necesario cuando es el último elemento? – user113716
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. –