一、HTML5简介
HTML5,作为当今最流行的网页开发技术之一,为网页开发带来了许多新特性和改进。它支持更多的多媒体内容,如音频、视频,并且提供了更丰富的图形和动画效果。此外,HTML5还增强了网页的交互性和功能性,使得我们可以轻松打造各种实用的网页应用,如计算器。
二、设计思路
在开始编写代码之前,我们需要明确计算器的设计思路。一个实用的计算器应该具备以下特点:
- 功能齐全:能够完成基本的加减乘除运算,以及一些高级功能,如求平方根、百分比计算等。
- 操作简便:界面清晰,操作直观,易于上手。
- 快速上手:代码结构清晰,易于阅读和维护。
三、HTML结构
以下是计算器的HTML结构示例:
<!DOCTYPE html>
<html>
<head>
<title>HTML5计算器</title>
</head>
<body>
<div id="calculator">
<input type="text" id="display" disabled>
<div id="buttons">
<button onclick="clearDisplay()">C</button>
<button onclick="appendNumber('1')">1</button>
<button onclick="appendNumber('2')">2</button>
<button onclick="appendNumber('3')">3</button>
<button onclick="setOperation('+')">+</button>
<button onclick="appendNumber('4')">4</button>
<button onclick="appendNumber('5')">5</button>
<button onclick="appendNumber('6')">6</button>
<button onclick="setOperation('-')">-</button>
<button onclick="appendNumber('7')">7</button>
<button onclick="appendNumber('8')">8</button>
<button onclick="appendNumber('9')">9</button>
<button onclick="setOperation('*')">*</button>
<button onclick="appendNumber('0')">0</button>
<button onclick="calculate()">=</button>
<button onclick="setOperation('/')">/</button>
<button onclick="appendDecimal()">.</button>
<button onclick="setOperation('sqrt')">√</button>
<button onclick="setOperation('%')">%</button>
</div>
</div>
<script src="calculator.js"></script>
</body>
</html>
在这个结构中,我们创建了一个div元素作为计算器的容器,一个文本输入框用于显示计算结果,以及一个div元素包含所有的按钮。
四、CSS样式
为了使计算器更美观,我们可以为其添加一些CSS样式。以下是一个简单的CSS样式示例:
#calculator {
width: 300px;
margin: 0 auto;
border: 1px solid #ccc;
padding: 10px;
}
#display {
width: 100%;
margin-bottom: 10px;
}
#buttons button {
width: 20%;
padding: 5px;
margin: 2px;
border: 1px solid #ccc;
}
在这个样式中,我们为计算器设置了宽度、边框和内边距,并为显示框和按钮设置了样式。
五、JavaScript逻辑
以下是计算器的JavaScript逻辑示例:
let currentInput = '';
let previousInput = '';
let operation = null;
function appendNumber(number) {
currentInput += number;
updateDisplay();
}
function appendDecimal() {
if (currentInput.indexOf('.') === -1) {
currentInput += '.';
updateDisplay();
}
}
function clearDisplay() {
currentInput = '';
previousInput = '';
operation = null;
updateDisplay();
}
function setOperation(op) {
if (currentInput === '') return;
if (previousInput !== '') {
calculate();
}
operation = op;
previousInput = currentInput;
currentInput = '';
updateDisplay();
}
function calculate() {
let previous = parseFloat(previousInput);
let current = parseFloat(currentInput);
let result = 0;
if (isNaN(previous) || isNaN(current)) return;
switch (operation) {
case '+':
result = previous + current;
break;
case '-':
result = previous - current;
break;
case '*':
result = previous * current;
break;
case '/':
result = previous / current;
break;
case 'sqrt':
result = Math.sqrt(current);
break;
case '%':
result = previous * (current / 100);
break;
}
currentInput = result.toString();
operation = null;
previousInput = '';
updateDisplay();
}
function updateDisplay() {
document.getElementById('display').value = currentInput;
}
在这个脚本中,我们定义了几个函数来处理计算器的各种操作。这些函数包括添加数字、添加小数点、清除显示、设置运算符、计算和更新显示。
六、总结
通过以上步骤,我们可以轻松地使用HTML5打造一个功能齐全、操作简便的计算器。在实际应用中,我们可以根据需求添加更多功能,如历史记录、自定义主题等。希望这篇文章能够帮助你快速上手HTML5计算器开发!
