Window setTimeout() Methode

Definition und Verwendung

setTimeout() Die Methode ruft die Funktion nach einigen Millisekunden auf.

Kommentar:1 Sekunde = 1000 Millisekunden.

Hinweis

setTimeout() Nur einmal ausführen.

Wenn Sie eine wiederholte Ausführung benötigen, verwenden Sie setInterval().

Bitte verwenden Sie clearTimeout() Methode um den Start der Funktion zu verhindern.

Um den Timeout zu löschen, verwenden Sie von setTimeout() Rückgegebenen id:

myTimeout = setTimeout(function, milliseconds);

Dann können Sie durch Aufruf clearTimeout() Methode um die Ausführung zu stoppen:

clearTimeout(myTimeout);

Siehe auch:

clearTimeout() Methode

setInterval() Methode

clearInterval() Methode

Beispiel

Beispiel 1

Willkommensnachricht, die 5 Sekunden lang gewartet wird:

const myTimeout = setTimeout(myGreeting, 5000);

Selbst ausprobieren

Beispiel 2

Verwenden Sie clearTimeout(myTimeout), um die Ausführung von myGreeting zu stoppen:

const myTimeout = setTimeout(myGreeting, 5000);
function myStopFunction() {
  clearTimeout(myTimeout);
}

Selbst ausprobieren

Weitere Beispiele finden Sie unten auf der Seite.

Syntax

setTimeout(function, milliseconds, param1, param2, ...)

Parameter

Parameter Beschreibung
function Erforderlich. Die auszuführende Funktion.
milliseconds

Optional. Anzahl der Millisekunden, die vor der Ausführung gewartet wird.

Standardwert ist 0.

param1, param2,...

Optional. Parameter, die an die Funktion übergeben werden.

IE9 und frühere Versionen unterstützen dies nicht.

Rückgabewert

Typ Beschreibung
Zahl.

Timer-ID.

Bitte diesem id zuweisen clearTimeout(id) 方法 一起使用以取消计时器。

浏览器支持

所有浏览器都支持 setTimeout()

Chrome IE Edge Firefox Safari Opera
Chrome IE Edge Firefox Safari Opera
支持 支持 支持 支持 支持 支持

更多实例

例子 3

3 秒(3000 毫秒)后显示警告框:

let timeout;
function myFunction() {
  timeout = setTimeout(alertFunc, 3000);
}
function alertFunc() {
  alert("Hello!");
}

Selbst ausprobieren

例子 4

显示定时文本:

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);

Selbst ausprobieren

例子 5

打开新窗口并在三秒(3000 毫秒)后关闭该窗口:

const myWindow = window.open("", "", "width=200, height=100");
setTimeout(function() {myWindow.close()}, 3000);

Selbst ausprobieren

例子 6

持续计数 - 但可以停止计数:

function startCount()
function stopCount()

Selbst ausprobieren

例子 7

使用计时事件创建的时钟:

function startTime() {
  const date = new Date();
  document.getElementById("txt").innerHTML = date.toLocaleTimeString();
  setTimeout(function() {startTime()}, 1000);
}

Selbst ausprobieren

例子 8

将参数传递给函数(在 IE9 及更早版本中不起作用):

setTimeout(myFunc, 2000, "param1", "param2");

Selbst ausprobieren

例子 9

但是,如果您使用匿名函数,则适用于所有浏览器:

setTimeout(function() {myFunc("param1", "param2")}, 2000);

Selbst ausprobieren