首先先代码献上

接下来是css

table,tr,td{
	text-align: center;
	border: 1px ridge black;
    border-collapse: collapse;
    text-align: center;
  


}
.btnx{
	font-weight: 900;
}

.btn,.btnx{
	height: 100%;
	width: 100%;
}
.btn{
	background-color: #f0f0f0;
}
tr{
	height:30px;
}
td{
	width: 30px;
}
#block{
	height: 100%;
	width: 100%;
}

对于这次的任务,可以说是对我们极大的考验,在寻找答案的时候也发现了不少解决的方法,这段代码是我见到的最精简的,所以我用了这个方式做了个这个任务。

首先就是计算机的外观部分,用表格很容易就可以制作而成,比较重点的是colspan的使用,让计算器变得更好看,最重点的是输出数字的地方只能用input,不能有其他的否则无法输入进去(也可能是我js没有掌握吧)。

在js中的思路是这样子的:

获取数字和加减乘除符号的值中,使用onclicknum(nums)函数,这时候传入参数,在HTML中设置传入参数的值,就这样可以很简单的传入参数也就是第一个value 的值,然后连接第二个value的值,用str.value来表示两者的和,就这样做成了一长串数字。

第二个函数时清除函数,制作onclickclear()函数,让str.value的值清除就可以了。

第三个函数是结果计算,制作onclickresult()函数,同时还得使用eval()函数将str.value的值计算出来。

原本打算制作一个backspace的,但是询问过学长后发现要制作一个栈,对于还没接触数据结构的我们肯定是没办法完成的,之后让这个计算器少了点功能,使用CE勉强用吧。

最后有几点不足之处,用户可以在结果上继续输入数字,而我想的是得出结果后如果继续点击数字的话会从头开始输入,希望以后可以实现这段代码。

还有就是可以运算符在第一个使用导致没有意义,应该设置为如果前面没有数字则无法输入运算符。

原本这个任务是要求用jQuery使js代码变得更简单的,然后把js代码写入一个文件中,不过经过了几天的尝试之后,我没能完成这两个任务。。。应该是学习js尚浅,导致了很多错误无法解决,所以我接下来一定好好学js。。。争取能够完善这段代码吧。

html5制作一个计算器 html做一个计算器_js 设置表格的值


成果如图。

——————————————————这是华丽的分界线——————————————————

经过我一个小时的修改,终于可以引进js文件了

<html>
<head>
<title>网页计算机</title>
<link rel="stylesheet" href="style/style.css">
<script src="js/jquery-3.4.1.min.js"></script>
</head>
<body>
	<table style=" height: 400px; width: 270px">
	<tr>
		<td colspan="4"><input type="text" id="block" style="font-size: 30px"> </td>
	</tr>
		<tr>
			<td colspan="3"><input type="button" class="btn"  value="  CE  " onclick="onclickclear()"></td>
			<td><input type="button" class="btn"  value="   /   " onclick="onclicknum('/')" ></td>
		</tr>
		<tr>
		<td><input type="button" class="btnx"  value="7" onclick="onclicknum(7)"></td>
		<td><input type="button"  class="btnx"  value="8" onclick="onclicknum(8)"></td>
		<td><input type="button" class="btnx"  value="9" onclick="onclicknum(9)"></td>
		<td><input type="button" class="btn"  value="×" onclick="onclicknum('*')"></td>
		</tr>
		<tr>
		<td><input type="button" class="btnx"  value="4" onclick="onclicknum(4)"></td>
		<td><input type="button" class="btnx"  value="5" onclick="onclicknum(5)"></td>
		<td><input type="button" class="btnx" value="6" onclick="onclicknum(6)"></td>
		<td><input type="button" class="btn"  value="-" onclick="onclicknum('-')"></td>
		</tr>
		<tr>
		<td><input type="button" class="btnx" value="1" onclick="onclicknum(1)"></td>
		<td><input type="button" class="btnx"  value="2" onclick="onclicknum(2)"></td>
		<td><input type="button" class="btnx"  value="3" onclick="onclicknum(3)"></td>
		<td><input type="button" class="btn" value="+" onclick="onclicknum('+')"></td>
		</tr>
		<tr>
		<td><input type="button" class="btnx"  value="." onclick="onclicknum('.')"></td>
		<td><input type="button" class="btnx"  value="0" onclick="onclicknum(0)"></td>
		<td colspan="2"><input type="button" class="btn"  value="=" onclick="onclickresult()"></td>
		</tr>



	</table>
</body>
<script src="js/size.js"></script>

接下来是js文件

var numresult; 
	var str; 
	str = document.getElementById("block");
	function onclicknum(nums) { 
		str.value += nums; 
	} 
	function onclickclear() { 
		str.value = ""; 
	} 
	function onclickresult() { 
		numresult = eval(str.value); 
		str.value = numresult;
	}

接下来是css文件

table,tr,td{
	text-align: center;
	border: 1px ridge black;
    border-collapse: collapse;
    text-align: center;
  


}
.btnx{
	font-weight: 900;
}

.btn,.btnx{
	height: 100%;
	width: 100%;
}
.btn{
	background-color: #f0f0f0;
}
tr{
	height:30px;
}
td{
	width: 30px;
}
#block{
	height: 100%;
	width: 100%;
}

这次修改解决了无法导入js文件的问题,不过还是没把jQuery文件用上,希望以后可以解决吧