网页版简易计算器
目录
- 网页版简易计算器
- 需求:
- 代码实现:
- 效果显示
需求:
用HTML、CSS、JS进行书写一个具备一定功能的简易计算器。
代码实现:
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Calculator</title><style>body {display: flex;justify-content: center;align-items: center;height: 100vh;background-color: #f4f4f9;margin: 0;font-family: 'Roboto', sans-serif;}.calculator {width: 350px;padding: 30px;border-radius: 20px;box-shadow: 0 15px 30px rgba(0, 0, 0, 0.1);background-color: #fff;}.display {width: 100%;height: 60px;margin-bottom: 20px;text-align: right;padding-right: 20px;font-size: 28px;border: none;border-radius: 10px;background-color: #e0e0e0;box-shadow: inset 0 5px 10px rgba(0, 0, 0, 0.1);color: #333;}.buttons {display: grid;grid-template-columns: repeat(4, 1fr);gap: 15px;}.button {padding: 25px;font-size: 20px;border: none;border-radius: 10px;cursor: pointer;transition: background-color 0.3s, transform 0.3s;box-shadow: 0 5px 10px rgba(0, 0, 0, 0.1);background-color: #f0f0f0;color: #333;}.button:hover {background-color: #ddd;transform: translateY(-2px);}.operator {background-color: #ff9500;color: white;}.operator:hover {background-color: #e68a00;}.zero-button {grid-column: span 2;}.clear-button {background-color: #d9534f;color: white;}.clear-button:hover {background-color: #c9302c;}.equals-button {background-color: #28a745;color: white;}.equals-button:hover {background-color: #218838;}</style>
</head>
<body>
<div class="calculator"><input type="text" class="display" id="display" disabled><div class="buttons"><button class="button clear-button" onclick="clearDisplay()">C</button><button class="button" onclick="appendNumber('7')">7</button><button class="button" onclick="appendNumber('8')">8</button><button class="button" onclick="appendNumber('9')">9</button><button class="button operator" onclick="setOperation('/')">/</button><button class="button" onclick="appendNumber('4')">4</button><button class="button" onclick="appendNumber('5')">5</button><button class="button" onclick="appendNumber('6')">6</button><button class="button operator" onclick="setOperation('*')">*</button><button class="button" onclick="appendNumber('1')">1</button><button class="button" onclick="appendNumber('2')">2</button><button class="button" onclick="appendNumber('3')">3</button><button class="button operator" onclick="setOperation('-')">-</button><button class="button zero-button" onclick="appendNumber('0')">0</button><button class="button" onclick="appendNumber('.')">.</button><button class="button equals-button" onclick="calculateResult()">=</button><button class="button operator" onclick="setOperation('+')">+</button></div>
</div><script>let currentInput = '';let previousInput = '';let operation = null;function appendNumber(number) {if (number === '.' && currentInput.includes('.')) return;currentInput += number;updateDisplay();}function setOperation(op) {if (currentInput === '') return;if (previousInput !== '') {calculateResult();}operation = op;previousInput = currentInput;currentInput = '';}function calculateResult() {let result;const prev = parseFloat(previousInput);const current = parseFloat(currentInput);if (isNaN(prev) || isNaN(current)) return;switch (operation) {case '+':result = prev + current;break;case '-':result = prev - current;break;case '*':result = prev * current;break;case '/':result = prev / current;break;default:return;}currentInput = result.toString();operation = null;previousInput = '';updateDisplay();}function clearDisplay() {currentInput = '';previousInput = '';operation = null;document.getElementById('display').value = '';}function updateDisplay() {document.getElementById('display').value = currentInput;}
</script>
</body>
</html>
效果显示
若喜欢,请一键三连!