使用html+css+js完成简单的计算器

使用html+css+js完成简单的计算器

刚刚接触了js,就寻思做个计算器好了,简易计算器就这么诞生了,新手小白有很多地方不是特别会,去网上查查改改,总算是做出来了,话不多说,直接上代码:
首先是html

<div class="big">
	<div class="computer">
	<input type="text" class="show" value="0" disabled="false"/>
		<ul>
			<li><input type="button" value="AC" class="but"></li>
			<li><input type="button" value="/" class="but"></li>
			<li><input type="button" value="*" class="but"></li>
			<li><input type="button" value="DEL" class="but"></li>
			<li><input type="button" value="1" class="but"></li>
			<li><input type="button" value="2" class="but"></li>
			<li><input type="button" value="3" class="but"></li>
			<li><input type="button" value="+" class="but"></li>
			<li><input type="button" value="4" class="but"></li>
			<li><input type="button" value="5" class="but"></li>
			<li><input type="button" value="6" class="but"></li>
			<li><input type="button" value="-" class="but"></li>
			<li><input type="button" value="7" class="but"></li>
			<li><input type="button" value="8" class="but"></li>
			<li><input type="button" value="9" class="but"></li>
			<li><input type="button" value="." class="but"></li>
			<li><input type="button" value="(" class="but"></li>
			<li><input type="button" value="0" class="but"></li>
			<li><input type="button" value=")" class="but"></li>
			<li><input type="button" value="=" class="but"></li>
		</ul>
	</div>
</div>

我是使用ul列表来完成模块构造的,在网上也有看到大神用table表格来完成
html没什么好说的,无非就是大框套小框,小框套列表

下面是css

<style>
	.big{width: 300px;height: 483px;border: 2px solid black;margin: 0 auto;background-color: #EEEEEE;}
	.computer{width: 285px;height: 470p;border: 1px solid black;margin: 0 auto;margin-top: 7.5px;}
	.show{width: 285px;height: 80px;border: none;text-align: right;background-color: #D3D3D3;
			font-size: 20px;margin-bottom: 20px;padding: 0;border-bottom: 2px solid black;}
	.computer>ul{margin: 0;padding: 0;width: 100%;height: 365px;font-size: 20px;}
	.computer>ul>li{width: 50px;height: 50px;border:none;float: left;margin: 10px;
			color: #000000;list-style: none;text-align: center;line-height: 50px;}
	.computer>ul>li>input{width: 50px;height: 50px;}
</style>

这里设置了一些模块的样式,根据个人喜好来吧我觉得,也没什么重要的

最最核心的来啦,javascript

<script type="text/javascript">
		window.onload=function(){
		// 用getElementsByClassName()方法获得所有指定类名的元素
		var var_number=document.getElementsByClassName("but");
		var var_screen=document.getElementsByClassName("show")[0];
		// 循环 i<=var_number.length-1
		for(var i=0;i<var_number.length;i++){
			var_number[i].onclick=function()
			{
				// 按下清空按钮
				if(this.value=="AC"){
					var_screen.value="";
				}
				// 按下删除键按钮
				else if(this.value=="DEL"){
					if(var_screen.value==""){
						var_screen.value="";
					}
					else{
					// substr() 方法可在字符串中抽取从 start 下标开始的指定数目的字符。
						var_screen.value=var_screen.value.substr(0,var_screen.value.length-1);
					}
				}
				// 按下等于
				else if(this.value=="="){
					var_screen.value=eval(var_screen.value);
				}
				// 按下小数点按钮
				else if(this.value=="."){
					if(var_screen.value==""){
						var_screen.value="0.";
					}
					else{
						var_screen.value=var_screen.value+".";
					}
				}
				// 按下左括号
				else if(this.value=="("){
					var_screen.value=var_screen.value+"(";
				}
				// 按下右括号
				else if(this.value==")"){
					var_screen.value=var_screen.value+")";
				}
				// 按下加号按钮
				else if(this.value=="+"){
					// 如果此时屏幕为空
					if(var_screen.value==""){
						var_screen.value="";
					}
					else{
						var_screen.value=var_screen.value+"+";
					}
				}
				// 按下减号按钮
				else if(this.value=="-"){
					// 如果此时屏幕为空
					if(var_screen.value==""){
						var_screen.value="";
					}
					else{
						var_screen.value=var_screen.value+"-";
					}
				}
				// 按下乘号按钮
				else if(this.value=="*"){
					// 如果此时屏幕为空
					if(var_screen.value==""){
						var_screen.value="";
					}
					else{
						var_screen.value=var_screen.value+"*";
					}
				}
				// 按下除号按钮
				else if(this.value=="/"){
					// 如果此时屏幕为空
					if(var_screen.value==""){
						var_screen.value="";
					}
					else{
						var_screen.value=var_screen.value+"/";
					}
				}
				else{
					var_screen.value+=this.value;
				}
			}
		}
	}
</script>

查了好多资料才勉勉强强写出来了,新手小白请多多指教【手动笔芯】
最后,上图!
在这里插入图片描述

好的,我可以为您提供一个简单HTMLJSCSS实现的计算器。以下是完整的代码: HTML代码: ```html <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>计算器</title> <link rel="stylesheet" href="style.css"> </head> <body> <div class="calculator"> <div class="display"> <p id="result">0</p> </div> <div class="buttons"> <button onclick="clearDisplay()">C</button> <button onclick="deleteDigit()">DEL</button> <button onclick="addToDisplay('/')">÷</button> <button onclick="addToDisplay('*')">x</button> <button onclick="addToDisplay('7')">7</button> <button onclick="addToDisplay('8')">8</button> <button onclick="addToDisplay('9')">9</button> <button onclick="addToDisplay('-')">-</button> <button onclick="addToDisplay('4')">4</button> <button onclick="addToDisplay('5')">5</button> <button onclick="addToDisplay('6')">6</button> <button onclick="addToDisplay('+')">+</button> <button onclick="addToDisplay('1')">1</button> <button onclick="addToDisplay('2')">2</button> <button onclick="addToDisplay('3')">3</button> <button class="equals" onclick="calculate()">=</button> <button onclick="addToDisplay('0')">0</button> <button onclick="addToDisplay('.')">.</button> </div> </div> <script src="script.js"></script> </body> </html> ``` CSS代码: ```css body { background-color: #f5f5f5; font-family: 'Lato', sans-serif; } .calculator { margin: 50px auto; width: 300px; background-color: #e8e8e8; border-radius: 10px; box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2); } .display { padding: 10px; background-color: #fff; border-radius: 10px 10px 0 0; text-align: right; } .display p { font-size: 24px; margin: 0; padding: 0; } .buttons { display: grid; grid-template-columns: repeat(4, 1fr); grid-gap: 10px; padding: 10px; } button { font-size: 24px; padding: 10px; border-radius: 5px; background-color: #fff; border: none; cursor: pointer; } .equals { background-color: #FFD700; } ``` JS代码: ```js let display = document.getElementById('result'); let expression = ''; function addToDisplay(value) { expression += value; display.innerHTML = expression; } function clearDisplay() { expression = ''; display.innerHTML = '0'; } function deleteDigit() { expression = expression.slice(0, -1); display.innerHTML = expression; } function calculate() { let result = eval(expression); expression = result.toString(); display.innerHTML = result; } ``` 这个计算器可以进行基本的加、减、乘、除操作,同时还具备清空、删除和计算等功能。您可以在浏览器中打开HTML文件,即可使用这个计算器
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值