Window setTimeout()
Examples
Wait 5 seconds for the greeting:
const myTimeout = setTimeout(myGreeting, 5000);
Try it Yourself »
Use clearTimeout(myTimeout) to prevent myGreeting from running:
const myTimeout = setTimeout(myGreeting, 5000);
function myStopFunction() {
clearTimeout(myTimeout);
}
Try it Yourself »
More examples below.
Description
The setTimeout()
method calls a function after a number of milliseconds.
1 second = 1000 milliseconds.
Notes
The setTimeout()
is executed only once.
If you need repeated executions, use setInterval()
instead.
Use the clearTimeout()
method to prevent the function from starting.
To clear a timeout, use the id returned from setTimeout():
myTimeout = setTimeout(function, milliseconds);
Then you can to stop the execution by calling clearTimeout():
clearTimeout(myTimeout);
See Also:
Syntax
setTimeout(function, milliseconds, param1, param2, ...)
Parameters
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. |
Return Value
Type | Description |
A number | The id of the timer. Use this id with clearTimeout(id) to cancel the timer. |
More Examples
Display an alert box after 3 seconds (3000 milliseconds):
let timeout;
function myFunction() {
timeout = setTimeout(alertFunc, 3000);
}
function alertFunc() {
alert("Hello!");
}
Try it Yourself »
Display a timed text:
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);
Try it Yourself »
Open a new window and close the window after three seconds (3000 milliseconds):
const myWindow = window.open("", "", "width=200, height=100");
setTimeout(function() {myWindow.close()}, 3000);
Try it Yourself »
Count forever - but with the ability to stop the count:
function startCount()
function stopCount()
Try it Yourself »
A clock created with timing events:
function startTime() {
const date = new Date();
document.getElementById("txt").innerHTML = date.toLocaleTimeString();
setTimeout(function() {startTime()}, 1000);
}
Try it Yourself »
Pass parameters to the function (does not work in IE9 and earlier):
setTimeout(myFunc, 2000, "param1", "param2");
Try it Yourself »
However, if you use an anonymous function, it will work in all browsers:
setTimeout(function() {myFunc("param1", "param2")}, 2000);
Try it Yourself »
Browser Support
setTimeout()
is supported in all browsers:
Chrome | Edge | Firefox | Safari | Opera | IE |
Yes | Yes | Yes | Yes | Yes | Yes |