September 9, 2021
How to Increment and Decrement Counter on Button Click in Javascript
In this tutorial, you will learn how to increment and decrement counter on button click in javascript. As you already know, increment means adding a certain number to an existing number and decrement means subtracting a certain number from an existing number.
For the sake of simplicity, we are going to increment and decrement by 1. We will use arithmetic operators addition (+
) and subtraction (-
) operators to achieve that.
In the following example, we have 2 buttons, one for increment and another for decrement. Depending upon which button is clicked, we will add or subtract 1 from the value in the input field. Please have a look over the code example and steps given below.
HTML & CSS
- We have 4 elements in the HTML file and that includes
div
, 2button
, andinput
elements. - The
div
element is just a wrapper for the rest of the elements. - The inner text for the first
button
element is“-”
and for the secondbutton
element, it is“+”
. - We have done some basic styling using CSS and added the link to our
style.css
stylesheet inside thehead
element. - We have also included our javascript file
script.js
with ascript
tag at the bottom.
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <link rel="stylesheet" href="style.css"> <title>Document</title> </head> <body> <div> <button id="subtract">-</button> <input type="number" value="0"> <button id="add">+</button> </div> <script src="script.js"></script> </body> </html>
div { width: 20%; margin: auto; } input, button { display: inline-block; padding: 10px; }
Javascript
- We have selected both the
button
elements andinput
element usingdocument.querySelector()
and stored them inbtnAdd
,btnSubtract
, andinput
variables respectively. - We have attached the
click
event listener to both thebutton
elements. - In both the event handler functions, we are using the
parseInt()
method and passing the value of theinput
element as a parameter. This method returns an integer. - In the event handler function of add button, we are adding 1 to the integer and updating the value in the input field.
- In the event handler function of subtract button, we are subtracting 1 from the integer and updating the value in the input field.
let btnAdd = document.querySelector('#add'); let btnSubtract = document.querySelector('#subtract'); let input = document.querySelector('input'); btnAdd.addEventListener('click', () =>{ input.value = parseInt(input.value) + 1; }); btnSubtract.addEventListener('click', () =>{ input.value = parseInt(input.value) - 1; });