Latest web development tutorials
 

Window setInterval() Method

< Window Object

Example

Alert "Hello" every 3 seconds (3000 milliseconds):

setInterval(function(){ alert("Hello"); }, 3000);
Try it Yourself »

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

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

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

Examples

More Examples

Example

You can also refer to a "named" function; Alert "Hello" every 3 seconds (3000 milliseconds):

var myVar;

function myFunction() {
    myVar = setInterval(alertFunc, 3000);
}

function alertFunc() {
    alert("Hello!");
}
Try it Yourself »

Example

Display the current time (the setInterval() method will execute the function once every 1 second, just like a digital watch):

var myVar = setInterval(function(){ myTimer() }, 1000);

function myTimer() {
    var d = new Date();
    var t = d.toLocaleTimeString();
    document.getElementById("demo").innerHTML = t;
}
Try it Yourself »

Example

Using clearInterval() to stop time in the previous example:

var myVar = setInterval(function(){ myTimer() }, 1000);

function myTimer() {
    var d = new Date();
    var t = d.toLocaleTimeString();
    document.getElementById("demo").innerHTML = t;
}

function myStopFunction() {
    clearInterval(myVar);
}
Try it Yourself »

Example

Using setInterval() and clearInterval() to create a dynamic progress bar:

function move() {
  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 + '%';
    }
  }
}
Try it Yourself »

Example

Toggle between two background colors once every 300 milliseconds:

var myVar = setInterval(function(){ setColor() }, 300);

function setColor() {
    var x = document.body;
    x.style.backgroundColor = x.style.backgroundColor == "yellow" ? "pink" : "yellow";
}

function stopColor() {
    clearInterval(myVar);
}
Try it Yourself »

Example

Pass parameters to the alertFunc function (does not work in IE9 and earlier):

var myVar;

function myStartFunction() {
    myVar = setInterval(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 = setInterval(function(){ alertFunc("First param", "Second param"); }, 2000);
}
Try it Yourself »

Related Pages

Window Object: href="met_win_clearinterval.html">clearInterval() Method

Window Object: href="met_win_settimeout.html">setTimeout() Method

Window Object: href="met_win_cleartimeout.html">clearTimeout() Method


< Window Object