Window setInterval() Method
Example
Alert "Hello" every 3 seconds (3000 milliseconds):
More "Try it Yourself" examples below.
Definition and Usage
The setInterval() method calls a function or evaluates an expression at specified intervals (in milliseconds).
The setInterval() method will continue calling the function until clearInterval() is called, or the window is closed.
The ID value returned by setInterval() is used as the parameter for the clearInterval() method.
Tip: 1000 ms = 1 second.
Tip: To execute a function only once, after a specified number of milliseconds, use the setTimeout() method.
Browser Support
The numbers in the table specify the first browser version that fully supports the method.
Method | |||||
---|---|---|---|---|---|
setInterval() | 1.0 | 4.0 | 1.0 | 1.0 | 4.0 |
Syntax
Parameter Values
Parameter | Description |
---|---|
function | Required. The function that will be executed |
milliseconds | Required. The intervals (in milliseconds) on how often to execute the code |
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 clearInterval() method to cancel the timer |
---|
More Examples
Example
You can also refer to a "named" function; Alert "Hello" every 3 seconds (3000 milliseconds):
function myFunction() {
myVar = setInterval(alertFunc, 3000);
}
function alertFunc() {
alert("Hello!");
}
Example
Display the current time (the setInterval() method will execute the function once every 1 second, just like a digital watch):
function myTimer() {
var d = new Date();
var t = d.toLocaleTimeString();
document.getElementById("demo").innerHTML = t;
}
Example
Using clearInterval() to stop time in the previous example:
function myTimer() {
var d = new Date();
var t = d.toLocaleTimeString();
document.getElementById("demo").innerHTML = t;
}
function myStopFunction() {
clearInterval(myVar);
}
Example
Using setInterval() and clearInterval() to create a dynamic progress bar:
var elem = document.getElementById("myBar");
var width = 0;
var id = setInterval(frame, 10);
function frame() {
if (width == 100) {
clearInterval(id);
} else {
width++;
elem.style.width = width + '%';
}
}
}
Example
Toggle between two background colors once every 300 milliseconds:
function setColor() {
var x = document.body;
x.style.backgroundColor = x.style.backgroundColor == "yellow" ? "pink" : "yellow";
}
function stopColor() {
clearInterval(myVar);
}
Example
Pass parameters to the alertFunc function (does not work in IE9 and earlier):
function myStartFunction() {
myVar = setInterval(alertFunc, 2000, "First param", "Second param");
}
However, if you use an anonymous function, it will work in all browsers:
function myStartFunction() {
myVar = setInterval(function(){ alertFunc("First param", "Second param"); }, 2000);
}
Related Pages
Window Object: clearInterval() Method
Window Object: setTimeout() Method
Window Object: clearTimeout() Method
Window Object