English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Objeto Janela (Window) do JavaScript
setTimeout()Window setTimeout() Método
Este método retorna um ID de timeout único do temporizador, portanto, você pode chamá-lo posteriormente para configurar um temporizador, que chamará a função ou executará um bloco de código quando o temporizador expirar.clearTimeout()para removê-lo.
UsandoclearTimeout()método para impedir a execução dessa função.
Esta função é executada apenas uma vez. Se precisar de execução repetida, usesetInterval()Método.
window.setTimeout(function, delay, param1, param2, ...)
setTimeout(function() { alert("Hello World"); }, 2000);Teste e Veja‹/›
Os números na tabela especificam a primeira versão do navegador que suporta completamente o método setTimeout():
方法 | |||||
setTimeout() | 1 | 1 | 4 | 1 | 4 |
参数 | 描述 |
---|---|
function | (必需)计时器到期后要执行的函数 |
delay | (必需)计时器应等待的时间(以毫秒为单位)(1000毫秒= 1秒),然后执行指定的函数或代码。如果省略,则使用值0 |
param1, param2, ... | (可选)传递给该函数(function)的其他参数 (IE9和更早版本中不支持) |
返回值: | 一个数字,表示设置的计时器的超时ID值。将此值与clearTimeout()方法一起使用可取消计时器 |
---|
此示例引用外部“命名”函数:
var timeoutID; function myFunc() { timeoutID = setTimeout(myCallback, 2000); } function myCallback() { alert("Hello World"); }Teste e Veja‹/›
使用clearTimeout()阻止函数运行:
var timeoutID; function myFunc() { timeoutID = setTimeout(myCallback, 2000); } function myCallback() { alert("Hello World"); } function myStopFunc() { clearTimeout(timeoutID); }Teste e Veja‹/›
使用递归显示当前时间(就像数字手表一样,每1每秒钟执行一次“ startTimer()”函数):
window.addEventListener("load", startTimer); function startTimer() { var date = new Date(); var x = document.getElementById("result"); x.innerHTML = date.getHours() + ":" + date.getMinutes() + ":" + date.getSeconds(); setTimeout(startTimer, 1000); // Recursão }Teste e Veja‹/›
使用setTimeout()创建动态进度条:
var i = 0; var bar = document.getElementById("progress",-bar); var t; function start() { if(i < 100) { i++; bar.style.width = i + " %% ;" bar.innerHTML = i + " %% ;" t = setTimeout(start, 60); // Recursão } } function stop() { clearTimeout(t); }Teste e Veja‹/›
Clique no botão "Iniciar Contagem" abaixo para iniciar o temporizador. Clique no botão "Parar Contagem" para parar a contagem:
Passar parâmetros para a função myFunc (no IE9e não funciona em versões mais antigas):
var timeoutID = setTimeout(myFunc, 2000, "Primeiro", "Segundo", "Terceiro");Teste e Veja‹/›
Mas, se você usar uma função anônima, ela funcionará em todos os navegadores:
var timeoutID = setTimeout(function(){ myFunc("Primeiro", "Segundo", "Terceiro"),} 2000);Teste e Veja‹/›
Referência: Janela (Window)Método clearTimeout()
Referência: Janela (Window)Método setInterval()
Referência: Janela (Window)Método clearInterval()