Janela setTimeout()
Exemplos
Aguarde 5 segundos pela saudação:
const myTimeout = setTimeout(myGreeting, 5000);
Use clearTimeout(myTimeout) para evitar que myGreeting seja executado:
const myTimeout = setTimeout(myGreeting, 5000);
function myStopFunction() {
clearTimeout(myTimeout);
}
Mais exemplos abaixo.
Definição e uso
O setTimeout()
método chama uma função após alguns milissegundos.
1 segundo = 1000 milissegundos.
Notas
O setTimeout()
é executado apenas uma vez.
Se você precisar de execuções repetidas, use setInterval()
em vez disso.
Use o clearTimeout()
método para impedir que a função seja iniciada.
Para limpar um tempo limite, use o id retornado de setTimeout():
myTimeout = setTimeout(function, milliseconds);
Então você pode parar a execução chamando clearTimeout():
clearTimeout(myTimeout);
Veja também:
Sintaxe
setTimeout(function, milliseconds, param1, param2, ...)
Parâmetros
Parameter | Description |
function | Required. The function to execute. |
milliseconds | Optional. Number of milliseconds to wait before executing. Default value is 0. |
param1, param2, ... |
Optional. Parameters to pass to the function. Not supported in IE9 and earlier. |
Valor de retorno
Modelo | Descrição |
Um número | O id do temporizador. Use este id com clearTimeout(id) para cancelar o cronômetro. |
Mais exemplos
Exiba uma caixa de alerta após 3 segundos (3000 milissegundos):
let timeout;
function myFunction() {
timeout = setTimeout(alertFunc, 3000);
}
function alertFunc() {
alert("Hello!");
}
Exibir um texto cronometrado:
let x = document.getElementById("txt");
setTimeout(function(){ x.value = "2 seconds" }, 2000);
setTimeout(function(){ x.value = "4 seconds" }, 4000);
setTimeout(function(){ x.value = "6 seconds" }, 6000);
Abra uma nova janela e feche a janela após três segundos (3000 milissegundos):
const myWindow = window.open("", "", "width=200, height=100");
setTimeout(function() {myWindow.close()}, 3000);
Conte para sempre - mas com a capacidade de parar a contagem:
function startCount()
function stopCount()
Um relógio criado com eventos de tempo:
function startTime() {
const date = new Date();
document.getElementById("txt").innerHTML = date.toLocaleTimeString();
setTimeout(function() {startTime()}, 1000);
}
Passe parâmetros para a função (não funciona no IE9 e anteriores):
setTimeout(myFunc, 2000, "param1", "param2");
No entanto, se você usar uma função anônima, ela funcionará em todos os navegadores:
setTimeout(function() {myFunc("param1", "param2")}, 2000);
Suporte ao navegador
setTimeout()
é suportado em todos os navegadores:
Chrome | IE | Edge | Firefox | Safari | Opera |
Yes | Yes | Yes | Yes | Yes | Yes |