Calculator in JavaScript | Source Code
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.