用HTML css js编写一个制作一个计算机,至少包括加减乘除运算、求绝对值、最值运算等
时间: 2024-10-10 19:03:43 浏览: 46
在HTML、CSS和JavaScript中制作一个简单的计算器,可以利用它们的特点构建出交互式的用户界面。以下是一个基础的示例:
```html
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<title>简单计算器</title>
<style>
.calculator {
width: 200px;
height: 300px;
border: 1px solid #ccc;
padding: 10px;
display: flex;
align-items: center;
justify-content: space-between;
}
input[type=number] {
width: 45%;
margin-right: 10px;
}
button {
width: 10%;
height: 50px;
font-size: 20px;
background-color: #ddd;
border: none;
cursor: pointer;
margin-bottom: 5px;
}
</style>
</head>
<body>
<div class="calculator">
<input type="number" id="display" readonly>
<div id="buttons">
<!-- 数字按钮 -->
<button>7</button>
<button>8</button>
<button>9</button>
<button>/</button>
<!-- 运算符按钮 -->
<button>4</button>
<button>5</button>
<button>6</button>
<button>*</button>
<!-- ...继续添加其他数字和运算符按钮... -->
<!-- 清零和等于按钮 -->
<button>1</button>
<button>2</button>
<button>3</button>
<button>-</button>
<button>.</button>
<button>0</button>
<button>=</button>
<button>+</button>
<button>|x|</button> (用于求绝对值)
<button>max</button> (假设它返回两个数的最大值)
</div>
</div>
<script>
// 基本的加减乘除函数和绝对值计算
const buttons = document.querySelectorAll('button');
buttons.forEach((btn) => {
btn.addEventListener('click', function() {
if (this.innerText === '=') {
performCalculation();
} else if (['+', '-', '*', '/'].includes(this.innerText)) {
handleOperator(this.innerText);
} else {
updateDisplay(this.innerText);
}
});
});
function updateDisplay(value) {
document.getElementById('display').value += value;
}
function handleOperator(op) {
let num1 = parseFloat(document.getElementById('display').value);
document.getElementById('display').value = '';
if (num1 !== undefined) {
let num2 = parseFloat(updateDisplay(op));
switch (op) {
case '+':
result = num1 + num2;
break;
case '-':
result = num1 - num2;
break;
case '*':
result = num1 * num2;
break;
case '/':
if (num2 !== 0) {
result = num1 / num2;
} else {
alert('除数不能为0!');
return;
}
break;
case '|x|':
result = Math.abs(num1);
break;
}
updateDisplay(result);
}
}
function performCalculation() {
let expression = document.getElementById('display').value;
try {
document.getElementById('display').value = eval(expression);
} catch (error) {
alert('输入无效!');
}
}
</script>
</body>
</html>
```
在这个示例中,我们创建了一个包含数字和运算符按钮的小型计算器。点击按钮会触发相应的事件处理器,对显示区域进行更新。注意,`eval()`函数用于计算表达式,但实际应用中应避免使用,因为它可能存在安全风险。
阅读全文