sexta-feira, 22 de fevereiro de 2008

Javascript: Funções setTimeout e setInterval


_

Pesquise preços no bondfaro de monitor 19 wide, a partir de R$ 598,00 LG Flatron L196WT LCD 19 Polegadas


Compare preços no Buscape, de Camera Sony N2



Javascript é aquela linguagem que todo programador precisa saber.
Validações no lado do cliente são muito importantes(claro que o mais importante são validações serve-side), mas enfim ...
Vou postar em meu blog sempre novidadades,técnicas de programação, dúvidas sobre tecnologia, e hoje falarei sobre a diferença entre as funções em javascript setTimeout e setInterval.
Esas funções podem definir um intervalo de tempo que um evento irá acontecer.
window.setTimeout(’funcao()’, intervaloEmMilisegundos);
window.setInterval(’funcao()’, intervaloEmMilisegundos);

As duas funções irão chamar uma segunda função passada por parâmetro no intervalo determinado também por parâmetro.

Sendo a setTimeout() chamando a função uma única vez. Enquanto a setInterval() chama a função “infinitamente” sempre no mesmo intervalo de tempo.
Um detalhe muito importante é como você declara elas. Para funcionar tanto no IE como Firefox, é preciso referenciar o objeto window antes da chamada da função. Ex:window.setIn ...

Para pausar a função usa-se clearInterval(). Passando como parâmetro o nome do seu intervalo.

Com a setInterval() podemos definir intervalos para alguma função ser chamada,
por exemplo, queremos que a cada 30 segundos apareceça um msg na tela.
Ex : window.setInterval(writescreen(),30000);
e ae teremos em nosso JS uma função assim:
function writescreen(){document.write('teste');}

Agora um exemplo de setTimeOut
Para mudar o conteúdo de um div após dois segundos que o usuário passou o mouse em um link:
function atualiza(){
div = document.getElementById('aviso');
div.innerHTML = 'Fazem dois segundos que você passou o mouse no link';
}

function avisoDemorado(){
setTimeout("atualiza()", 2000);
}
Por hoje é só, espero que meus exemplo tenham esclarecido qualquer dúvida. vlwww

Nenhum comentário: