Fun Calculator
About this app
A simple and colorful calculator that can add, subtract, and divide.
Fun Calculator 1 2 3 + 4 5 6 - 7 8 9 / 0 . AC =
Related apps
Put this on your site
Source
<!DOCTYPE html>
<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>Fun Calculator</title>
<meta name="description" content="A simple and colorful calculator that can add, subtract, and divide.">
<meta name="keywords" content="calculator, add, subtract, divide, simple, colorful">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<link href="https://fonts.googleapis.com/css?family=Fredoka+One&display=swap" rel="stylesheet">
<style>
body {
font-family: 'Fredoka One', cursive;
background: linear-gradient(135deg, #f6d365 0%, #fda085 100%);
}
#main-container {
margin-top: 50px;
}
.calculator {
text-align: center;
background: white;
padding: 20px;
border-radius: 10px;
box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
}
.calculator-screen {
width: 100%;
height: 50px;
text-align: right;
border: none;
padding: 10px;
margin-bottom: 20px;
font-size: 24px;
box-shadow: inset 0 -5px 5px rgba(0,0,0,0.2);
}
.calculator-keys button {
width: 60px;
height: 60px;
margin: 5px;
border: none;
border-radius: 5px;
background: #e0e1e6;
font-size: 20px;
color: #333;
box-shadow: 0 5px 5px rgba(0,0,0,0.2);
cursor: pointer;
}
.calculator-keys button:active {
box-shadow: inset 0 5px 5px rgba(0,0,0,0.2);
}
.equal-sign {
background: #fda085;
}
</style>
<script type="text/javascript">
try {
document.addEventListener("DOMContentLoaded", function() {
const calculator = {
displayValue: '0',
firstOperand: null,
waitingForSecondOperand: false,
operator: null,
};
function inputDigit(digit) {
const { displayValue, waitingForSecondOperand } = calculator;
if (waitingForSecondOperand === true) {
calculator.displayValue = digit;
calculator.waitingForSecondOperand = false;
} else {
calculator.displayValue = displayValue === '0' ? digit : displayValue + digit;
}
}
function handleOperator(nextOperator) {
const { firstOperand, displayValue, operator } = calculator;
const inputValue = parseFloat(displayValue);
if (operator && calculator.waitingForSecondOperand) {
calculator.operator = nextOperator;
return;
}
if (firstOperand == null && !isNaN(inputValue)) {
calculator.firstOperand = inputValue;
} else if (operator) {
const result = calculate(firstOperand, inputValue, operator);
calculator.displayValue = String(result);
calculator.firstOperand = result;
}
calculator.waitingForSecondOperand = true;
calculator.operator = nextOperator;
}
function calculate(firstOperand, secondOperand, operator) {
if (operator === '+') {
return firstOperand + secondOperand;
} else if (operator === '-') {
return firstOperand - secondOperand;
} else if (operator === '/') {
return firstOperand / secondOperand;
}
return secondOperand;
}
function updateDisplay() {
const display = document.querySelector('.calculator-screen');
display.value = calculator.displayValue;
}
updateDisplay();
const keys = document.querySelector('.calculator-keys');
keys.addEventListener('click', (event) => {
const { target } = event;
if (!target.matches('button')) {
return;
}
if (target.classList.contains('operator')) {
handleOperator(target.value);
updateDisplay();
return;
}
if (target.classList.contains('decimal')) {
inputDecimal(target.value);
updateDisplay();
return;
}
if (target.classList.contains('all-clear')) {
resetCalculator();
updateDisplay();
return;
}
inputDigit(target.value);
updateDisplay();
});
function inputDecimal(dot) {
if (calculator.waitingForSecondOperand === true) {
calculator.displayValue = '0.';
calculator.waitingForSecondOperand = false;
return;
}
if (!calculator.displayValue.includes(dot)) {
calculator.displayValue += dot;
}
}
function resetCalculator() {
calculator.displayValue = '0';
calculator.firstOperand = null;
calculator.waitingForSecondOperand = false;
calculator.operator = null;
}
});
} catch (error) {
throw error;
}
</script>
</head>
<body>
<div id="main-container" class="container">
<div class="calculator">
<input type="text" class="calculator-screen" value="0" disabled>
<div class="calculator-keys">
<button type="button" class="btn btn-light" value="1">1</button>
<button type="button" class="btn btn-light" value="2">2</button>
<button type="button" class="btn btn-light" value="3">3</button>
<button type="button" class="btn btn-light operator" value="+">+</button>
<button type="button" class="btn btn-light" value="4">4</button>
<button type="button" class="btn btn-light" value="5">5</button>
<button type="button" class="btn btn-light" value="6">6</button>
<button type="button" class="btn btn-light operator" value="-">-</button>
<button type="button" class="btn btn-light" value="7">7</button>
<button type="button" class="btn btn-light" value="8">8</button>
<button type="button" class="btn btn-light" value="9">9</button>
<button type="button" class="btn btn-light operator" value="/">/</button>
<button type="button" class="btn btn-light" value="0">0</button>
<button type="button" class="btn btn-light decimal" value=".">.</button>
<button type="button" class="btn btn-light all-clear" value="all-clear">AC</button>
<button type="button" class="btn btn-light equal-sign operator" value="=">=</button>
</div>
</div>
</div>
</body>
</html>
NEW APPS
These are apps made by the community!