Calculator in JavaScript | Source Code

Chamod Dilshan 😎
2 min readJul 1, 2024

--

HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>My website</title>
<link rel="stylesheet" href="styles.css">
</head>
<body>

<div id="calculator">

<input id="display" readonly>

<div id="keys">
<button onclick="appendToDisplay('+')" class="operator-btn">+</button>
<button onclick="appendToDisplay('7')">7</button>
<button onclick="appendToDisplay('8')">8</button>
<button onclick="appendToDisplay('9')">9</button>
<button onclick="appendToDisplay('-')" class="operator-btn" >-</button>
<button onclick="appendToDisplay('4')">4</button>
<button onclick="appendToDisplay('5')">5</button>
<button onclick="appendToDisplay('6')">6</button>
<button onclick="appendToDisplay('*')" class="operator-btn">*</button>
<button onclick="appendToDisplay('1')">1</button>
<button onclick="appendToDisplay('2')">2</button>
<button onclick="appendToDisplay('3')">3</button>
<button onclick="appendToDisplay('/')" class="operator-btn">/</button>
<button onclick="appendToDisplay('0')">0</button>
<button onclick="appendToDisplay('.')">.</button>

<button onclick="calculate()">=</button>
<button onclick="clearDisplay()">C</button>
</div>


</div>

<script src="script.js"></script>
</body>
</html>

CSS

body{
margin: 0;
display: flex;
justify-content: center;
align-items: center;
height: 100vh;
background-color: aliceblue;
}

#calculator{
background-color: rgb(23, 22, 22);
border-radius: 26px;
max-width: 500px ;
overflow: hidden;
color: white;
font-family: serif;
}

#display{
width: 100%;
padding: 20px;
font-size: 5rem;
text-align: left;
border: none;
background-color: rgb(74, 74, 74);
color: white;
}

#keys{
display: grid;
grid-template-columns: repeat(4,1fr);
gap: 10px;
padding: 25px;
}

button{
width: 100px;
height: 100px;
border-radius: 50px;
border: none;
background-color:rgb(68, 68, 68) ;
color: white;
font-size: 3rem;
font-weight: bold;
cursor: pointer;
}


button:hover{
background-color:rgb(128, 126, 126) ;

}

button:active{
background-color:rgb(140, 138, 138) ;

}

.operator-btn{
background-color:rgb(227, 113, 7) ;

}

.operator-btn:hover{
background-color:rgb(219, 121, 29) ;

}
.operator-btn:active{
background-color:rgb(224, 156, 93) ;

}

JavaScript


const display = document.getElementById("display");

function appendToDisplay(input){
display.value += input;
}


function clearDisplay(){
display.value = "";
}

function calculate(){
try{
display.value = eval(display.value);
}
catch(error){
display.value = "Error";
}
}

Follow for more.

--

--

Chamod Dilshan 😎

I'm Chamod Dilshan! πŸš€ Entrepreneur πŸš€ ICT undergrad, web dev, and tech enthusiast. Wordsmith on the side. Let's explore tech together https://chamoddilshan.me