JS Timing

JS Tutorial

JS Version

JS Objects

JS Function

JS Classes

JS Async

JS HTML DOM

JS Browser BOM

JS Web API

JS AJAX

JS JSON

JS vs JQUERY

JS Graphics

JS Timing

Timing Events

The window object enables the execution of code at specified time intervals

These time intervals are called timing events.

The two key methods to use with JavaScript are:

setTimeout(function, milliseconds)

Executes a function, after waiting a specified number of milliseconds.

setInterval(function, milliseconds)

Same as setTimeout(), and repeats the execution of the function continuously.

The setTimeout() and setInterval() are both methods of the HTML DOM Window object.

The setTimeout() Method

window.setTimeout(function, milliseconds);

The window.setTimeout() method is written without the window prefix.

The first parameter is a function to be executed.

The second parameter denotes the number of milliseconds before execution.

Example

Click a button. Wait 3 seconds, and the page will alert “Hello”.

<!DOCTYPE html>

<html>

<body>

<h2>JavaScript Timing</h2>

<p>Click “Try it”. Wait 3 seconds, and the page will alert “Hello”.</p>

<button onclick=”setTimeout(myFunction, 3000);”>Try it</button>

<script>

function myFunction() {

  alert(‘Hello’);

}

</script>

</body>

</html>

Output

JavaScript Timing

Click "Try it". Wait 3 seconds, and the page will alert "Hello".

How to Stop the Execution?

The clearTimeout() method is used to stop the execution of the function specified in setTimeout().

window.clearTimeout(timeoutVariable)

The window.clearTimeout() method is written without the window prefix.

The clearTimeout() method uses the variable returned from setTimeout():

myVar = setTimeout(function, milliseconds);

clearTimeout(myVar);

In case the function had not been executed, you can stop the execution by calling the clearTimeout() method:

Example

<!DOCTYPE html>

<html>

<body>

<h2>JavaScript Timing</h2>

<p>Click “Try it”. Wait 3 seconds. The page will alert “Hello”.</p>

<p>Click “Stop” to prevent the first function to execute.</p>

<p>(You must click “Stop” before the 3 seconds are up.)</p>

<button onclick=”myVar = setTimeout(myFunction, 3000)”>Try it</button>

<button onclick=”clearTimeout(myVar)”>Stop it</button>

<script>

function myFunction() {

  alert(“Hello”);

}

</script>

</body>

</html>

Output

JavaScript Timing

Click "Try it". Wait 3 seconds. The page will alert "Hello".

Click "Stop" to prevent the first function to execute.

(You must click "Stop" before the 3 seconds are up.)

The setInterval() Method

The setInterval() method repeats a given function at every given time interval.

window.setInterval(function, milliseconds);

The window.setInterval() method is written without the window prefix.

The first parameter is the function to be executed.

The second parameter denotes the length of the time interval between each execution.

This example executes a function called “myTimer” once every second (like a digital watch).

Example

<!DOCTYPE html>

<html>

<body>

<h2>JavaScript Timing</h2>

<p>A script on this page starts this clock:</p>

<p id=”demo”></p>

<script>

setInterval(myTimer, 1000);

function myTimer() {

const d = new Date();

document.getElementById(“demo”).innerHTML = d.toLocaleTimeString();

}

</script>

</body>

</html>

Output

JavaScript Timing

A script on this page starts this clock:

How to Stop the Execution?

The clearInterval() method puts a  stop the executions of the function specified in the setInterval() method.

window.clearInterval(timerVariable)

The window.clearInterval() method is written without the window prefix.

The clearInterval() method makes use of the variable returned from setInterval():

let myVar = setInterval(function, milliseconds);

clearInterval(myVar);

Same example as above, but we have added a “Stop time” button:

Example

<!DOCTYPE html>

<html>

<body>

<h2>JavaScript Timing</h2>

<p>A script on this page starts this clock:</p>

<p id=”demo”></p>

<button onclick=”clearInterval(myVar)”>Stop time</button>

<script>

let myVar = setInterval(myTimer ,1000);

function myTimer() {

 const d = new Date();

 document.getElementById(“demo”).innerHTML = d.toLocaleTimeString();

}

</script>

</body>

</html>

Output

JavaScript Timing

A script on this page starts this clock: