Resumo : neste tutorial, você aprenderá como usar JavaScript setInterval()
para chamar repetidamente uma função com um atraso fixo entre cada chamada.
Introdução ao JavaScriptsetInterval()
O setInterval()
é um método do window
objeto. Chama setInterval()
repetidamente uma função com um atraso fixo entre cada chamada.
O seguinte ilustra a sintaxe do setInterval()
:
let intervalID = setInterval(callback, delay,[arg1, arg2, ...]);
Linguagem de código: JavaScript ( javascript )
Nesta sintaxe:
- A
callback
é uma função de retorno de chamada a ser executada a cadadelay
milissegundos. - É
delay
o tempo (em milissegundos) que o cronômetro deve atrasar entre as execuções da função de retorno de chamada. - Os
arg1
,…argN
são os argumentos que são passados para a função de retorno de chamada.
O setInterval()
retorna um número numérico diferente de zero que identifica o temporizador criado. Você pode passar o intervalID
para clearInterval()
cancelar o tempo limite.
Observe que setInterval()
funciona como, setTimeout()
mas executa repetidamente um retorno de chamada uma vez a cada atraso especificado.
setInterval()
Exemplo de JavaScript
O exemplo a seguir usa setInterval()
e clearInterval()
para alterar a cor de um título uma vez por segundo quando você pressiona o botão Iniciar. Se você parar o botão, clearInterval()
o tempo limite será cancelado.
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>JavaScript setInterval Demo</title>
<script>
let intervalID;
function toggleColor() {
let e = document.getElementById('flashtext');
e.style.color = e.style.color == 'red' ? 'blue' : 'red';
}
function stop() {
clearInterval(intervalID);
}
function start() {
intervalID = setInterval(toggleColor, 1000);
}
</script>
</head>
<body>
<p id="flashtext">JavScript setInterval Demo</p>
<button onclick="start()">Start</button>
<button onclick="stop()">Stop</button>
</body>
</html>
Linguagem de código: HTML, XML ( xml )
Saída:
Demonstração de setInterval de JavaScript
Resumo
- Chama
setInterval()
repetidamente uma função uma vez, com um atraso fixo entre cada chamada. - O
setInterval()
retorna umtimeoutID
que pode ser passado paraclearInterval()
cancelar o tempo limite.