HTML代码段:
通过HTML来把界面端计算器的按钮给展示出来,并且给它们都用onclick添加上事件,同时在div标签中利用button-grid容器将这些按钮装起来,后面再引入CSS文件和JavaScript文件
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>一个简单的计算器</title>
<link rel="stylesheet" type="text/css" href="test.css">//引入css文件
</head>
<body>
<h1>计算器</h1>
<div class="calculator">
<input type="text" id="input" class="input" placeholder="0">
<div class="button-grid">
<input type="button" value="1" class="button" onclick="addNumber(1)">
<input type="button" value="2" class="button" onclick="addNumber(2)">
<input type="button" value="3" class="button" onclick="addNumber(3)">
<input type="button" value="+" class="button" onclick="addOperator('+')">
<input type="button" value="4" class="button" onclick="addNumber(4)">
<input type="button" value="5" class="button" onclick="addNumber(5)">
<input type="button" value="6" class="button" onclick="addNumber(6)">
<input type="button" value="-" class="button" onclick="addOperator('-')">
<input type="button" value="7" class="button" onclick="addNumber(7)">
<input type="button" value="8" class="button" onclick="addNumber(8)">
<input type="button" value="9" class="button" onclick="addNumber(9)">
<input type="button" value="*" class="button" onclick="addOperator('*')">
<input type="button" value="0" class="button" onclick="addNumber(0)">
<input type="button" value="." class="button" onclick="addDecimal()">
<input type="button" value="=" class="button" onclick="calculate()">
<input type="button" value="/" class="button" onclick="addOperator('/')">
</div>
<p id="output"></p>
</div>
<script src="test.js"></script>//引入js文件
</body>
</html>
CSS代码段:
利用CSS来美化计算器的样式
body {
background-color: #f1f1f1;
font-family: Arial, sans-serif;
}
h1 {
text-align: center;
color: #333;
}
.calculator {
width: 300px;
margin: 0 auto;
background-color: #fff;
padding: 20px;
border-radius: 10px;
box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
}
.input {
width: 100%;
height: 40px;
font-size: 18px;
padding: 5px;
border: none;
border-radius: 5px;
margin-bottom: 10px;
text-align: right;
}
.button-grid {
display: grid;
grid-template-columns: repeat(4, 1fr);
grid-gap: 5px;
}
.button {
width: 100%;
height: 40px;
font-size: 18px;
border: none;
border-radius: 5px;
background-color: #4CAF50;
color: #fff;
}
.button:hover {
background-color: #45a049;
cursor: pointer;
}
#output {
text-align: right;
font-size: 24px;
margin-top: 10px;
padding: 5px;
background-color: #eee;
border-radius: 5px;
}
JavaScript代码段:
JavaScript这里是最重要的,为了实现它的功能,我们需要把计算的函数以及方法写在JavaScript里面,类似于我们Java中的方法体,同时每段代码的表示的意义我都已注释好,与java一样方便让人理解代码
我主要分成了下面七个步骤:
- 首先,通过获取输入框和输出框的元素,将其分别赋值给变量input和output。
- 定义了三个变量num1、num2和operator,用于存储用户输入的数字和操作符。
- addNumber函数用于添加数字。如果当前没有操作符,数字将被添加到num1中;如果当前有操作符,数字将被添加到num2中。
- addDecimal函数用于添加小数点。如果当前没有操作符,将小数点添加到num1中;如果当前有操作符,将小数点添加到num2中。
- addOperator函数用于添加操作符。如果当前没有操作符,将操作符添加到operator中,并清空输入框;如果当前有操作符,先计算结果,然后将操作符设置为新的操作符。
- calculate函数用于计算结果。根据当前操作符,对num1和num2进行相应的计算,并将结果显示在输出框中。
- 最后,通过重置变量和清空输入框,准备进行下一次计算。 我通过这段代码就可以实现了一个简单的计算器功能,用户可以输入数字和操作符进行计算,并得到结果显示在输出框中。
// 获取输入框和输出框元素
var input = document.getElementById("input");
var output = document.getElementById("output");
// 定义变量来存储用户输入的数字和操作符
var num1 = 0;
var num2 = 0;
var operator = "";
// 添加数字
function addNumber(num) {
// 如果当前没有操作符,则将数字添加到num1中
if (operator === "") {
num1 = num1 * 10 + num;
input.value = num1;
}
// 否则将数字添加到num2中
else {
num2 = num2 * 10 + num;
input.value = num2;
}
}
// 添加小数点
function addDecimal() {
// 如果当前没有操作符,则将小数点添加到num1中
if (operator === "") {
if (input.value.indexOf(".") === -1) {
input.value += ".";
}
}
// 否则将小数点添加到num2中
else {
if (input.value.indexOf(".", num1.toString().length) === -1) {
input.value += ".";
}
}
}
// 添加操作符
function addOperator(op) {
// 如果当前没有操作符,则将操作符添加到operator中
if (operator === "") {
operator = op;
input.value = "";
}
// 否则将计算结果并将操作符设置为新的操作符
else {
calculate();
operator = op;
}
}
// 计算结果
function calculate() {
// 根据当前操作符计算结果
switch (operator) {
case "+":
num1 += num2;
break;
case "-":
num1 -= num2;
break;
case "*":
num1 *= num2;
break;
case "/":
num1 /= num2;
break;
}
// 显示结果
output.innerHTML = num1;
// 重置变量
num2 = 0;
operator = "";
input.value = "";
}
效果图如下所示:
下面这个图就实现一个基本计算器的功能,包括最简单的加减乘除,运算出来的结果放到下面来显示,这只是其中的一个小插件,在后续我们写一个比较大的项目的时候,我们可以利用多个HTML之间的跳换来进行交互,后续也会用到HTML中重定向的方法。
总结: 作为一个前端基础小白,通过利用这段代码实现了一个简单的计算器功能,让我对前端开发有了初步的认识和实践。 在学习过程中,我了解到HTML是用来构建网页结构的标记语言。通过使用不同的标签,我可以创建各种元素,如标题、输入框、按钮和输出框等。可以通过HTML将自己的想法转化为可见的网页内容。此外利用CSS样式表,通过为HTML元素添加样式,我可以改变它们的外观和布局。在这段代码中,通过引入一个名为"test.css"的样式表文件,我可以轻松地为计算器界面添加样式,使其看起来更加美观和易于操作。 在JavaScript方面,我发现它是一种强大的编程语言,用于实现网页的交互和动态性,这是一门弱类型语言,它的要求不像java那样严格。通过编写JavaScript代码,我可以对用户的输入做出响应,并进行相应的计算和逻辑处理。这段代码中的JavaScript函数,如addNumber、addOperator和calculate,让我可以处理用户的输入,并根据输入执行相应的操作。通过这段代码的编写,我学到了如何使用JavaScript来操作HTML元素,如获取输入框和输出框的值,以及如何通过设置这些值来更新页面的显示。我还了解到了JavaScr 总的来说,我对前端开发有了更进一步的了解。尽管这只是一个简单的计算器,但通过编写这段代码,我感受到了前端开发的乐趣,期待在未来的学习中能够进一步提升自己的技能,并创造出更加复杂和有趣的网页应用。 大家一起加油!