
- Javascript Basics Tutorial
- Javascript - Home
- JavaScript - Roadmap
- JavaScript - Overview
- JavaScript - Features
- JavaScript - Enabling
- JavaScript - Placement
- JavaScript - Syntax
- JavaScript - Hello World
- JavaScript - Console.log()
- JavaScript - Comments
- JavaScript - Variables
- JavaScript - let Statement
- JavaScript - Constants
- JavaScript - Data Types
- JavaScript - Type Conversions
- JavaScript - Strict Mode
- JavaScript - Reserved Keywords
- JavaScript Operators
- JavaScript - Operators
- JavaScript - Arithmetic Operators
- JavaScript - Comparison Operators
- JavaScript - Logical Operators
- JavaScript - Bitwise Operators
- JavaScript - Assignment Operators
- JavaScript - Conditional Operators
- JavaScript - typeof Operator
- JavaScript - Nullish Coalescing Operator
- JavaScript - Safe Assignment Operator
- JavaScript - Delete Operator
- JavaScript - Comma Operator
- JavaScript - Grouping Operator
- JavaScript - Yield Operator
- JavaScript - Spread Operator
- JavaScript - Exponentiation Operator
- JavaScript - Operator Precedence
- JavaScript Control Flow
- JavaScript - If...Else
- JavaScript - While Loop
- JavaScript - For Loop
- JavaScript - For...in
- Javascript - For...of
- JavaScript - Loop Control
- JavaScript - Break Statement
- JavaScript - Continue Statement
- JavaScript - Switch Case
- JavaScript - User Defined Iterators
- JavaScript Functions
- JavaScript - Functions
- JavaScript - Function Expressions
- JavaScript - Function Parameters
- JavaScript - Default Parameters
- JavaScript - Function() Constructor
- JavaScript - Function Hoisting
- JavaScript - Self-Invoking Functions
- JavaScript - Arrow Functions
- JavaScript - Function Invocation
- JavaScript - Function call()
- JavaScript - Function apply()
- JavaScript - Function bind()
- JavaScript - Closures
- JavaScript - Variable Scope
- JavaScript - Global Variables
- JavaScript - Smart Function Parameters
- JavaScript Objects
- JavaScript - Number
- JavaScript - Boolean
- JavaScript - Strings
- JavaScript - Arrays
- JavaScript - Date
- JavaScript - DataView
- JavaScript - Handler
- JavaScript - Math
- JavaScript - RegExp
- JavaScript - Symbol
- JavaScript - Sets
- JavaScript - WeakSet
- JavaScript - Maps
- JavaScript - WeakMap
- JavaScript - Iterables
- JavaScript - Reflect
- JavaScript - TypedArray
- JavaScript - Template Literals
- JavaScript - Tagged Templates
- Object Oriented JavaScript
- JavaScript - Objects
- JavaScript - Classes
- JavaScript - Object Properties
- JavaScript - Object Methods
- JavaScript - Static Methods
- JavaScript - Display Objects
- JavaScript - Object Accessors
- JavaScript - Object Constructors
- JavaScript - Native Prototypes
- JavaScript - ES5 Object Methods
- JavaScript - Encapsulation
- JavaScript - Inheritance
- JavaScript - Abstraction
- JavaScript - Polymorphism
- JavaScript - Destructuring
- JavaScript - Destructuring Assignment
- JavaScript - Object Destructuring
- JavaScript - Array Destructuring
- JavaScript - Nested Destructuring
- JavaScript - Optional Chaining
- JavaScript - Global Object
- JavaScript - Mixins
- JavaScript - Proxies
- JavaScript Versions
- JavaScript - History
- JavaScript - Versions
- JavaScript - ES5
- JavaScript - ES6
- ECMAScript 2016
- ECMAScript 2017
- ECMAScript 2018
- ECMAScript 2019
- ECMAScript 2020
- ECMAScript 2021
- ECMAScript 2022
- JavaScript Asynchronous
- JavaScript - Asynchronous
- JavaScript - Callback Functions
- JavaScript - Promises
- JavaScript - Async/Await
- JavaScript - Microtasks
- JavaScript - Promisification
- JavaScript - Promises Chaining
- JavaScript - Timing Events
- JavaScript - setTimeout()
- JavaScript - setInterval()
- JavaScript Cookies
- JavaScript - Cookies
- JavaScript - Cookie Attributes
- JavaScript - Deleting Cookies
- JavaScript Browser BOM
- JavaScript - Browser Object Model
- JavaScript - Window Object
- JavaScript - Document Object
- JavaScript - Screen Object
- JavaScript - History Object
- JavaScript - Navigator Object
- JavaScript - Location Object
- JavaScript - Console Object
- JavaScript Web APIs
- JavaScript - Web API
- JavaScript - History API
- JavaScript - Storage API
- JavaScript - Forms API
- JavaScript - Worker API
- JavaScript - Fetch API
- JavaScript - Geolocation API
- JavaScript Events
- JavaScript - Events
- JavaScript - DOM Events
- JavaScript - addEventListener()
- JavaScript - Mouse Events
- JavaScript - Keyboard Events
- JavaScript - Form Events
- JavaScript - Window/Document Events
- JavaScript - Event Delegation
- JavaScript - Event Bubbling
- JavaScript - Event Capturing
- JavaScript - Custom Events
- JavaScript Error Handling
- JavaScript - Error Handling
- JavaScript - try...catch
- JavaScript - Debugging
- JavaScript - Custom Errors
- JavaScript - Extending Errors
- JavaScript Important Keywords
- JavaScript - this Keyword
- JavaScript - void Keyword
- JavaScript - new Keyword
- JavaScript - var Keyword
- JavaScript HTML DOM
- JavaScript - HTML DOM
- JavaScript - DOM Methods & Properties
- JavaScript - DOM Document
- JavaScript - DOM Elements
- JavaScript - DOM Attributes (Attr)
- JavaScript - DOM Forms
- JavaScript - Changing HTML
- JavaScript - Changing CSS
- JavaScript - DOM Animation
- JavaScript - DOM Navigation
- JavaScript - DOM Collections
- JavaScript - DOM NodeList
- JavaScript - DOM DOMTokenList
- JavaScript Advanced Chapters
- JavaScript - Bubble Sort Algorithm
- JavaScript - Circular Reference Error
- JavaScript - Code Testing with Jest
- JavaScript - CORS Handling
- JavaScript - Data Analysis
- JavaScript - Dead Zone
- JavaScript - Design Patterns
- JavaScript - Engine and Runtime
- JavaScript - Execution Context
- JavaScript - Function Composition
- JavaScript - Immutability
- JavaScript - Kaboom.js
- JavaScript - Lexical Scope
- JavaScript - Local Storage
- JavaScript - Memoization
- JavaScript - Minifying JS
- JavaScript - Mutability vs Immutability
- JavaScript - Package Manager
- JavaScript - Parse S-Expressions
- JavaScript - Prototypal Inheritance
- JavaScript - Reactivity
- JavaScript - Require Function
- JavaScript - Selection API
- JavaScript - Session Storage
- JavaScript - SQL CRUD Operations
- JavaScript - Supercharged Sorts
- JavaScript - Temporal Dead Zone
- JavaScript - Throttling
- JavaScript - TRPC Library
- JavaScript - Truthy and Falsy Values
- JavaScript - Upload Files
- JavaScript - Date Comparison
- JavaScript - Recursion
- JavaScript - Data Structures
- JavaScript - Base64 Encoding
- JavaScript - Callback Function
- JavaScript - Current Date/Time
- JavaScript - Date Validation
- JavaScript - Filter Method
- JavaScript - Generating Colors
- JavaScript - HTTP Requests
- JavaScript - Insertion Sort
- JavaScript - Lazy Loading
- JavaScript - Linked List
- JavaScript - Nested Loop
- JavaScript - Null Checking
- JavaScript - Get Current URL
- JavaScript - Graph Algorithms
- JavaScript - Higher Order Functions
- JavaScript - Empty String Check
- JavaScript - Form Handling
- JavaScript - Functional Programming
- JavaScript - Parameters vs Arguments
- JavaScript - Prototype
- JavaScript - Reactive Programming
- JavaScript - Reduce Method
- JavaScript - Rest Operator
- JavaScript - Short Circuiting
- JavaScript - Undefined Check
- JavaScript - Unit Testing
- JavaScript - Validate URL
- JavaScript Miscellaneous
- JavaScript - Ajax
- JavaScript - Async Iteration
- JavaScript - Atomics Objects
- JavaScript - Rest Parameter
- JavaScript - Page Redirect
- JavaScript - Dialog Boxes
- JavaScript - Page Printing
- JavaScript - Validations
- JavaScript - Animation
- JavaScript - Multimedia
- JavaScript - Image Map
- JavaScript - Browsers
- JavaScript - JSON
- JavaScript - Multiline Strings
- JavaScript - Date Formats
- JavaScript - Get Date Methods
- JavaScript - Set Date Methods
- JavaScript - Modules
- JavaScript - Dynamic Imports
- JavaScript - BigInt
- JavaScript - Blob
- JavaScript - Unicode
- JavaScript - Shallow Copy
- JavaScript - Call Stack
- JavaScript - Reference Type
- JavaScript - IndexedDB
- JavaScript - Clickjacking Attack
- JavaScript - Currying
- JavaScript - Graphics
- JavaScript - Canvas
- JavaScript - Debouncing
- JavaScript - Performance
- JavaScript - Style Guide
JavaScript - setInterval() Method
JavaScript setInterval() Method
In JavaScript, the setInterval() is a window method that is used to execute a function repeatedly at a specific interval. The setTimeout() Method allows you to execute the function only once after the specified time.
The window object contains the setInterval() method. However, you can execute the setInterval() Method without taking the window object as a reference.
Syntax
Following is the syntax to use the setInterval() method in JavaScript
setInterval(callback,interval, arg1, arg2, ..., argN);
The first two parameters are required others are optional.
Parameters
- Callback − It is a callback function that will be executed after every interval.
- Interval − It is the number of milliseconds after the callback function should be executed.
- Arg1, arg2, arg3, , argN − They are multiple arguments to pass to the callback function.
Return Value
The setInterval() method returns the numeric id.
Example
In the code below, the startTimer() function uses the setInterval() method to call the timer() function after every 1000 milliseconds.
The timer() function increases the value of the second global variable every time it is called by the setInterval() method and prints the counter.
You can click the button to start a timer in the output.
<html> <body> <button onclick = "startTimer()">Start Timer</button> <div id = "output"> </div> <script> let output = document.getElementById('output'); var seconds = 0; function startTimer() { setInterval(timer, 1000); // Calls timer() function after every second } function timer() { // Callback function seconds++; output.innerHTML += "Total seconds are: " + seconds + "<br>"; } </script> </body> </html>
Output

Arrow Function with setInterval() Method
The below example contains almost the same code as the above example. Here, we have passed the arrow function as a first argument of the setInterval() method rather than passing the function name only. You can click the button to start the timer.
Example
<html> <body> <button onclick = "startTimer()">Start Timer</button> <div id = "output"> </div> <script> let output = document.getElementById('output'); var seconds = 0; function startTimer() { setInterval(() => { seconds++; output.innerHTML += "Total seconds are: " + seconds + "<br>"; }, 1000); // Calls timer() function after every second } </script> </body> </html>
Output

Passing More than 2 Arguments to setInterval() Method
In the code below, we have passed 3 arguments to the setInterval() method. The first argument is a callback function to print the date, the second argument is an interval, and the third argument will be passed to the callback function.
Example
<html> <body> <button onclick = "startTimer()">Start Date Timer</button> <div id = "output"> </div> <script> let output = document.getElementById('output'); var seconds = 0; function startTimer() { let message = "The date and time is: "; setInterval(printDate, 1000, message); } function printDate(message) { let date = new Date(); output.innerHTML += message + date + "<br>"; } </script> </body> </html>
Output

The clearInterval() Method in JavaScript
The JavaScript clearInterval() method is used to stop the code execution started using the clearItnerval() method.
It takes the numeric id returned by the setInterval () method as an argument.
Syntax
Follow the syntax below to use the clearInterval() method.
clearInterval(id);
Here id is an id returned by the setInterval() method.
Example
In the code below, we have used the setInterval() method to show the number after incrementing by 10 and after each second.
When the number becomes 50, we stop the timer using the clearInterval() method.
<html> <body> <div id = "output"> </div> <script> let output = document.getElementById('output'); let number = 10; let id = setInterval(() => { if (number == 50) { clearInterval(id); output.innerHTML += "The time is stopped." } output.innerHTML += "The number is: " + number + "<br>"; number += 10; }, 1000); </script> </body> </html>
Output
The number is: 10 The number is: 20 The number is: 30 The number is: 40 The time is stopped.The number is: 50
Real-time Use Case of the setInterval() Method
In the above examples, we have printed the messages using the setInterval() method. In this section, we will see the real-time use cases of the setInterval() method.
Here, we have listed some of the real-time use cases.
- To refresh the date
- For slideshow
- For animation
- To show the clock on the webpage
- To update live cricket score
- To update weather information
- To run cron jobs
Here are the real-time examples of the setInterval() method.
Flipping the color of the HTML element after each interval
In the code below, we flip the color of the <div> element after every second.
We have defined the div element in the HTML body.
In the <head> section, we have added the red and green classes. Also, we added the background color in the red and green classes.
In JavaScript, we have passed the callback function as the first argument of the setInterval() method, which will be called after every 1000 milliseconds.
We access the <div> element in the callback function using its id. After that, we check whether the classList of the <div> element contains the red class. If yes, we remove it and add the green class. Similarly, if classList contains the green class, we remove it and add the red class.
This is how we are flipping the color of the <div> element using the setInterval() method.
Example
<html> <head> <style> .red {background-color: red;} .green {background-color: green;} #square {height: 200px; width: 200px;} </style> </head> <body> <div>Using setInterval() method to flip the color of the HTML element after each interval</div> <div id = "square" class = "red"> </div> <script> let output = document.getElementById('output'); setInterval(function () { let square = document.getElementById('square'); if (square.classList.contains('red')) { square.classList.remove('red'); square.classList.add('green'); } else { square.classList.remove('green'); square.classList.add('red'); } }, 1000); </script> </body> </html>
Output

Moving Animation Using the setInterval() Method
In the code below, we create moving animation using the setInterval() method.
We have created the two nested div elements. The outer div has the parent id, and the inner div has the child id. We have set dimensions for both div elements and position to relative.
In JavaScript, we have initialized the left variable with 0. After that, we invoke the callback function of the setInterval() method after every 50 milliseconds.
In each interval, we change the position of the <div> element by 5px, and when the left position becomes 450px, we stop the animation.
Example
<html> <head> <style> #parent { position: relative; height: 50px; width: 500px; background-color: yellow; } #child { position: relative; height: 50px; width: 50px; background-color: red; } </style> </head> <body> <div id = "parent"> <div id = "child"> </div> </div> <script> let child = document.getElementById('child'); let left = 0; // Moving animation using the setInterval() method setInterval(() => { if (left < 450) { left += 5; child.style.left = left + 'px'; } }, 50); </script> </body> </html>
Output

You can also use the setInterval() method to run the particular code asynchronously.