Quero adicionar uma classe, aguarde 2 segundos e adicione outra classe.
.addClass("load").wait(2sec).addClass("done");
Existe alguma maneira?
setTimeout executará algum código após um atraso de algum período de tempo (medido em milissegundos). No entanto, uma observação importante: devido à natureza do javascript, o resto do código continua a ser executado depois que o cronômetro é configurado:
$('#someid').addClass("load");
setTimeout(function(){
$('#someid').addClass("done");
}, 2000);
// Any code here will execute immediately after the 'load' class is added to the element.
Isso seria
.delay()
.http://api.jquery.com/delay/
Se você está fazendo coisas com AJAX, você realmente não deve apenas escrever automaticamente "pronto", você realmente deve esperar por uma resposta e ver se está realmente feito.
fonte
.removeClass('load')
adicionar de outra forma as classes load e done, o que provavelmente é indesejado. Se você está realmente esperando que uma ação assíncrona seja concluída, sua melhor aposta é fazer .addClass QUANDO for concluída e for bem-sucedida, se não .addClass ('erro') talvez uma ideiadelay () não fará o trabalho. O problema com delay () é que ele faz parte do sistema de animação e só se aplica a filas de animação.
E se você quiser esperar antes de executar algo fora da animação ??
Usa isto:
O que acontece ?: Nesse cenário, ele espera 600 milissegundos antes de executar o código especificado entre as chaves.
Isso me ajudou muito depois que descobri e espero que ajude você também!
AVISO IMPORTANTE: 'window.setTimeout' acontece de forma assíncrona. Tenha isso em mente ao escrever seu código!
fonte
Perceba que esta é uma questão antiga, mas escrevi um plugin para resolver esse problema que alguém pode achar útil.
https://github.com/madbook/jquery.wait
permite que você faça isso:
fonte
Existe uma função, mas é extra: http://docs.jquery.com/Cookbook/wait
Este pequeno snippet permite que você espere:
fonte
Você pode usar a
.delay()
função.Isso é o que você procura:
fonte
O plugin xml4jQuery fornece o método sleep (ms, callback). A cadeia restante seria executada após o período de sono.
fonte
Usando a função setTimeout, por exemplo Visite aqui por exemplo
fonte