Non riesco a ritardare la visualizzazione di un div. Voglio ritardare l'animazione di circa 20 secondi è possibile?Come ritardare l'animazione jquery?
$("#microcharcounter").delay(10000).show();
Non riesco a ritardare la visualizzazione di un div. Voglio ritardare l'animazione di circa 20 secondi è possibile?Come ritardare l'animazione jquery?
$("#microcharcounter").delay(10000).show();
Prova questo:
$("#microcharcounter").delay(10000).show(0);
o questo:
$("#microcharcounter").delay(10000).queue(function(n) {
$(this).show();
n();
});
La ragione di questo è che .delay()
ritarderà solo gli elementi in una coda di animazione. Puoi quindi creare .show()
una breve animazione aggiungendo una durata di "0" o aggiungerla alla coda con .queue()
.
Si può fare in questo modo:
setTimeout(function() {
$("#microcharcounter").show();
}, 20000);
Il problema con .delay()
e .show()
(senza durata), è che .show()
non è un'animazione, è un effetto immediato che non è sulla coda fx
a tutti. Puoi comunque dargli una durata, come questa:
$("#microcharcounter").delay(20000).show("fast");
Sempre alla ricerca di ritardo su google quando ho bisogno di usare setTimeout. Quindi questo post mi ha aiutato un paio di volte :) – Kimtho6
Se fai la fila manualmente, non dimenticare di disconnettere! :) –
@Nick - Ho appena aggiunto 'n();', ma è necessario quando è l'ultimo elemento? – user113716
Sì, se per esempio si chiama un'animazione successiva, meglio essere sicuri con IMO, in alternativa si può chiamare '$ (this) .show(). Dequeue()', questo è quello che tendo a fare quando si ha a che fare con '$ (questo) ', un po 'più pulito per me comunque. –