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: