Window setTimeout() Method
Example
Display an alert box after 3 seconds (3000 milliseconds):
 setTimeout(function(){ alert("Hello"); }, 3000);
Try it Yourself »
More "Try it Yourself" examples below.
Definition and Usage
The setTimeout() method calls a function or evaluates an expression after a specified number of milliseconds.
Tip: 1000 ms = 1 second.
Tip: The function is only executed once. If you need to repeat execution, use the setInterval() method.
Tip: Use the clearTimeout() method to prevent the function from running.
Browser Support
The numbers in the table specify the first browser version that fully supports the method.
| Method | |||||
|---|---|---|---|---|---|
| setTimeout() | 1.0 | 4.0 | 1.0 | 1.0 | 4.0 | 
Syntax
setTimeout(function, milliseconds, param1, param2, ...)
Parameter Values
| Parameter | Description | 
|---|---|
| function | Required. The function that will be executed | 
| milliseconds | Optional. The number of milliseconds to wait before executing the code. If omitted, the value 0 is used | 
| param1, param2, ... | Optional. Additional parameters to pass to the function (Not supported in IE9 and earlier) | 
Technical Details
| Return Value: | A Number, representing the ID value of the timer that is set. Use this value with the clearTimeout() method to cancel the timer | 
|---|
More Examples
Example
You can also refer to "named" function; Display an alert box after 3 seconds (3000 milliseconds):
 var myVar;
function myFunction() {
    myVar = setTimeout(alertFunc, 3000);
}
function alertFunc() {
    alert("Hello!");
}
Try it Yourself »
Example
Display a timed text:
 var 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 »
Example
Open a new window and close the window after three seconds (3000 milliseconds):
 var myWindow = window.open("", "", "width=200, height=100");
 myWindow.document.write("<p>This is 'myWindow'</p>");
setTimeout(function(){ myWindow.close() }, 3000);
Try it Yourself »
Example
Using clearTimeout() to prevent the function to run:
 var myVar;
function myFunction() {
    myVar = setTimeout(function(){ alert("Hello") }, 3000);
 }
function myStopFunction() {
    clearTimeout(myVar);
}
Try it Yourself »
Example
Count forever - but with the ability to stop the count:
 function startCount()
function stopCount()
Try it Yourself »
Example
A clock created with timing events:
 function startTime() {
    var today = new Date();
    var h = today.getHours();
    var m = today.getMinutes();
    var s = today.getSeconds();
    
 // add a zero in front of numbers<10
    m = checkTime(m);
    s = checkTime(s);
    
 document.getElementById("txt").innerHTML = h+ ":" + m + ":" + s;
    t = setTimeout(function(){ startTime() }, 500);
 }
function checkTime(i) {
    if (i<10) {
        i = "0" + i;
    }
    return i;
}
Try it Yourself »
Example
Pass parameters to the alertFunc function (does not work in IE9 and earlier):
 var myVar;
function myStartFunction() {
    myVar = setTimeout(alertFunc, 2000, "First param", "Second param");
}
Try it Yourself »
However, if you use an anonymous function, it will work in all browsers:
 var myVar;
function myStartFunction() {
    myVar = setTimeout(function(){ alertFunc("First param", "Second param"); }, 2000);
 }
Try it Yourself »
Related Pages
Window Object: clearTimeout() Method
Window Object: setInterval() Method
Window Object: clearInterval() Method
❮ Window Object

