Os Temporizadores do JavaScript
Postado por: Jeronimo Fagundes emJavaScript tem duas funções muito úteis que servem para “agendar tarefas” que devam ser executadas. São elas o setTimeout e o setInterval.
O setTimeout tem dois parâmetros; o primeiro é uma string contendo o código a ser executado. O segundo é o tempo, em milissegundos, que se deve esperar para executar tal código. O seguinte trecho de código mostrará um alerta após 2000 milissegundos (ou seja, 2 segundos).
setTimeout("alert('Viva!')", 2000);
A diferença entre setTimeout e setInterval é que o setTimeout executa o código especificado apenas uma vez. O setInterval executa infinitas vezes, com o intervalo de tempo especificado entre cada execução. Por exemplo, o seguinte código exibirá um alerta a cada 10 segundos.
setInterval("alert('Viva!')", 10000);
Você pode se arrepender de ter agendado a execução do código. Nesse caso, são necessárias duas coisas: ter guardado a tarefa numa variável, e usar a função de cancelamento de execução. São duas as funções de cancelamento: clearTimeout, para cancelar as tarefas agendadas com setTimeout, e clearInterval, que cancela as agendadas com setInterval.
Por exemplo, o código abaixo não mostrará alerta algum, pois as tarefas agendadas serão canceladas.
var alerta_unico = setTimeout("alert('Viva!')", 5000);
var alerta_intermitente = setInterval("alert('Viva!')", 10000);
clearTimeout(alerta_unico); // Cancela o alerta agendado em setTimeout
clearInterval(alerta_intermitente); // Cancela o alerta agendado em setInterval













Simples e rápido, dicas assim valem a pena!
So um comentario, certa vez eu li que nao devemos usar STRING no setTimeout ou no setInterval.
Devemos sempre usar funcao anonima.
ex:
setTimeout(
function(){
alert(‘Viva!’);
}
, 2000);
E o mesmo para o setInterval.
Valew, tinha algumas dúvidas sobre
@Alexsandro Correto, ambas as formas são suportadas, uma função a ser invocada ou uma string.
Coloquei o padrão de string por ser muito utilizado, e ser o único compatível com navegadores muito antigos (leia-se IE4 ou anteriores).
Não que browsers muito antigos sejam uma preocupação, mas fica documentado que nesses browsers bem antigos só o formato string funcionará.
Essa função é muito interessante, um exemplo prático dessa função é um sistema de chat online, onde a cada xx segundos ele atualiza o arquivo de conversa ( log ).
Boa Dica! Parabéns.
Não sei se é uma boa pra chat nao…