English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
setTimeout()eine Zeiterinnerung einrichten, die nach Ablauf des Zeiters die Funktion oder den Codeaufruf aufruft.
Diese Methode gibt eine eindeutige Kennnummer des Zeiters zurück, daher können Sie später durch AufrufclearTimeout()um es zu löschen.
Verwenden SieclearTimeout()Methode, um die Ausführung dieser Funktion zu verhindern.
Diese Funktion wird nur einmal ausgeführt. Wenn eine wiederholte Ausführung erforderlich ist, verwenden SiesetInterval()Methode.
window.setTimeout(function, delay, param1, param2, ...)
setTimeout(function() { alert("Hello World"); }, 2000);Testen Sie es heraus‹/›
Die Zahlen in der Tabelle bezeichnen die erste Browserversion, die das setTimeout() -Verfahren vollständig unterstützt:
Method | |||||
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"); }Testen Sie es heraus‹/›
使用clearTimeout()阻止函数运行:
var timeoutID; function myFunc() { timeoutID = setTimeout(myCallback, 2000); } function myCallback() { alert("Hello World"); } function myStopFunc() { clearTimeout(timeoutID); }Testen Sie es heraus‹/›
使用递归显示当前时间(就像数字手表一样,每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 }Testen Sie es heraus‹/›
使用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); }Testen Sie es heraus‹/›
Klicken Sie auf die Schaltfläche "Zählen beginnen", um den Timer zu starten. Klicken Sie auf die Schaltfläche "Zählen stoppen", um das Zählen zu beenden:
Übergeben Sie Parameter an die Funktion myFunc (im IE9und in frühen Versionen nicht funktioniert hat):
var timeoutID = setTimeout(myFunc, 2000, "First", "Second", "Third");Testen Sie es heraus‹/›
Aber wenn Sie eine anonyme Funktion verwenden, wird sie in allen Browsern ausgeführt:
var timeoutID = setTimeout(function() { myFunc("First", "Second", "Third"); }, 2000);Testen Sie es heraus‹/›
Fenster (Window) Referenz:clearTimeout() Methode
Fenster (Window) Referenz:setInterval() Methode
Fenster (Window) Referenz:clearInterval() Methode