English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
setTimeout()una volta che il timer è scaduto, il timer chiamerà la funzione o eseguirà un segmento di codice.
Questo metodo restituisce un ID univoco identificativo del timer, quindi è possibile impostare un timer utilizzando il metodoclearTimeout()per rimuoverlo.
usareclearTimeout()metodo per bloccare l'esecuzione di questa funzione.
Questa funzione viene eseguita una volta sola. Se si desidera eseguire ripetutamente, utilizzaresetInterval()metodo.
window.setTimeout(function, delay, param1, param2, ...)
setTimeout(function(){ alert("Hello World"); }, 2000);Prova a vedere‹/›
I numeri nella tabella specificano la prima versione del browser che supporta completamente il metodo setTimeout():
Metodo | |||||
setTimeout() | 1 | 1 | 4 | 1 | 4 |
parametro | descrizione |
---|---|
funzione | (必需)计时器到期后要执行的函数 |
delay | (必需)计时器应等待的时间(以毫秒为单位)(1000毫秒= 1秒),然后执行指定的函数或代码。如果省略,则使用值0 |
param1, param2, ... | (可选)传递给该函数(function)的其他参数(IE9和更早版本中不支持) |
返回值: | 一个数字,表示设置的计时器的超时ID值。将此值与clearTimeout()方法一起使用可取消计时器 |
---|
此示例引用外部“命名”函数:
var timeoutID; function myFunc() { timeoutID = setTimeout(myCallback, 2000); } function myCallback() { alert("Hello World"); }Prova a vedere‹/›
使用clearTimeout()阻止函数运行:
var timeoutID; function myFunc() { timeoutID = setTimeout(myCallback, 2000); } function myCallback() { alert("Hello World"); } function myStopFunc() { clearTimeout(timeoutID); }Prova a vedere‹/›
使用递归显示当前时间(就像数字手表一样,每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); // Recursion }Prova a vedere‹/›
使用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); // Recursion } } function stop() { clearTimeout(t); }Prova a vedere‹/›
Clicca sul pulsante "Inizia il conteggio" per avviare il timer. Clicca sul pulsante "Ferma il conteggio" per fermare il conteggio:
Passa parametri alla funzione myFunc (non funziona in Internet Explorer 9 e versioni precedenti):
var timeoutID = setTimeout(myFunc, 2000, "First", "Second", "Third");Prova a vedere‹/›
Ma se usi una funzione anonima, funzionerà in tutti i browser:
var timeoutID = setTimeout(function(){ myFunc("First", "Second", "Third"); }, 2000);Prova a vedere‹/›
Riferimento finestra (Window):Metodo clearTimeout()
Riferimento finestra (Window):Metodo setInterval()
Riferimento finestra (Window):Metodo clearInterval()