Calculator
About this app
A colorful and responsive calculator app
Calculator 7 8 9 + 4 5 6 - 1 2 3 * 0 . = C
Related apps
Put this on your site
Source
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>Calculator</title>
<meta name="description" content="A colorful and responsive calculator app">
<meta name="keywords" content="calculator, math, arithmetic">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet"
integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous">
<link href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet">
<script type="text/javascript">
try {
// App Javascript Goes Here. Place your entire script content inside the try block for error handling.
// This will run when the DOM is ready.
document.addEventListener("DOMContentLoaded", function() {
// Get the calculator container
const calculator = document.querySelector("#calculator");
// Get the display element
const display = calculator.querySelector(".display");
// Get all the number buttons
const numberButtons = calculator.querySelectorAll(".number");
// Get the operator buttons
const operatorButtons = calculator.querySelectorAll(".operator");
// Get the equal button
const equalButton = calculator.querySelector(".equal");
// Get the clear button
const clearButton = calculator.querySelector(".clear");
// Add event listeners to number buttons
numberButtons.forEach(button => {
button.addEventListener("click", () => {
display.textContent += button.textContent;
});
});
// Add event listeners to operator buttons
operatorButtons.forEach(button => {
button.addEventListener("click", () => {
display.textContent += button.textContent;
});
});
// Add event listener to equal button
equalButton.addEventListener("click", () => {
try {
const result = eval(display.textContent);
display.textContent = result;
} catch (error) {
display.textContent = "Error";
}
});
// Add event listener to clear button
clearButton.addEventListener("click", () => {
display.textContent = "";
});
});
} catch (error) {
// This will throw the error to the parent window.
throw error;
}
</script>
<style>
/* App CSS Goes Here */
body {
background-color: #f8f9fa;
font-family: 'Roboto', sans-serif;
}
#calculator {
max-width: 300px;
margin: 0 auto;
background-color: #fff;
border-radius: 5px;
padding: 10px;
box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}
.display {
margin-bottom: 10px;
padding: 10px;
background-color: #f1f3f5;
border-radius: 5px;
text-align: right;
font-size: 24px;
}
.buttons {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 10px;
}
.button {
padding: 10px;
text-align: center;
font-size: 20px;
background-color: #e9ecef;
border: none;
border-radius: 5px;
cursor: pointer;
transition: background-color 0.3s ease;
}
.button:hover {
background-color: #dee2e6;
}
.button:active {
background-color: #ced4da;
}
.equal {
grid-column: span 2;
}
.clear {
background-color: #f8d7da;
}
</style>
</head>
<body>
<div id="main-container" class="container">
<div id="calculator">
<div class="display"></div>
<div class="buttons">
<button class="button number">7</button>
<button class="button number">8</button>
<button class="button number">9</button>
<button class="button operator">+</button>
<button class="button number">4</button>
<button class="button number">5</button>
<button class="button number">6</button>
<button class="button operator">-</button>
<button class="button number">1</button>
<button class="button number">2</button>
<button class="button number">3</button>
<button class="button operator">*</button>
<button class="button number">0</button>
<button class="button operator">.</button>
<button class="button equal">=</button>
<button class="button clear">C</button>
</div>
</div>
</div>
</body>
</html>
NEW APPS
These are apps made by the community!