Index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Calculator</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<header id="header">
<h1>Welcome to MyCalci</h1>
</header>
<div id="section">
<input type="text" id="screen" readonly>
<table>
<tr>
<td><button>(</button></td>
<td><button>)</button></td>
<td><button>C</button></td>
<td><button>%</button></td>
</tr>
<tr>
<td><button>7</button></td>
<td><button>8</button></td>
<td><button>9</button></td>
<td><button>X</button></td>
</tr>
<tr>
<td><button>4</button></td>
<td><button>5</button></td>
<td><button>6</button></td>
<td><button>+</button></td>
</tr>
<tr>
<td><button>1</button></td>
<td><button>2</button></td>
<td><button>3</button></td>
<td><button>-</button></td>
</tr>
<tr>
<td><button>0</button></td>
<td><button>.</button></td>
<td><button>\</button></td>
<td><button>=</button></td>
</tr>
</table>
</div>
<script src="index.js"></script>
</body>
</html>
style.css:
#header{
display: block;
width: 50%;
margin: auto;
color: purple;
text-align: center;
border: 2px solid yellow;
background-color: gold;
border-radius: 10px;
border: 2px solid black;
}
#section{
text-align: center;
margin-top: 30px;
background: linear-gradient(to bottom,purple,pink);
width: fit-content;
margin: 30px auto;
padding: 30px;
border-radius: 20px;
}
input{
font-size: 30px;
border: 2px solid red;
background: linear-gradient(to right,#000,#434343);
border-radius: 10px;
text-align: center;
box-shadow: 2px red;
color: white;
outline: none;
}
input:focus{
width: 220px;
background-color: yellowgreen;
}
table{
margin: 20px auto;
}
button{
font-size: 24px;
background: linear-gradient(#000,#434343);
color: white;
height: 52px;
width: 52px;
border: 2px solid gold;
border-radius: 20px;
outline: none;
}
button:hover{
background: gray;
}
Index.js:
let screen = document.getElementById('screen');
let buttons = document.querySelectorAll('button');
let screenValue = '';
let stackValue = '';
for(item of buttons){
item.addEventListener('click',(e)=>{
let buttonText = e.target.innerText;
console.log(buttonText);
if(buttonText == 'X'){
buttonText = '*';
screenValue = buttonText;
stackValue += buttonText;
screen.value +=screenValue;
}
else if(buttonText == '%'){
buttonText = '/';
screenValue = buttonText;
stackValue += buttonText;
screen.value += screenValue;
}
else if(buttonText == 'C'){
screenValue = "";
stackValue = "";
screen.value = screenValue;
}
else if(buttonText == '='){
screen.value = eval(stackValue);
}
else{
screenValue = buttonText;
stackValue += buttonText;
screen.value += screenValue;
}
})
}