js+html+bootstrap实现计算器(包含退格,存储,取存,清存,累存,积存)

注意,代码放到pycharm会有红色报错,但可以运行,没关系,直接打开html就好。(完全没影响)

布局效果

在这里插入图片描述

代码:

<!DOCTYPE html>
<html>
	<head>
		<title>计算器</title>
		<meta name="viewport" content="width=device-width, initial-scale=1.0" charset="utf-8">
		<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet">
			  <script src="https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
			  <script src="https://cdn.staticfile.org/twitter-bootstrap/3.3.7/js/bootstrap.min.js"></script>
			  <script src="js/bootstrap.min.js"></script>
			  <script>
				  var str=""    //input框的str字符串
				  var flag=0    //判断是否已经得出结果
				  var storge="" //暂存区
				  $(document).ready(function(){
						  $("input").keypress(function(e){//获取键盘输入
									if(e.key=="+"||e.key=="-"||e.key=="*"||e.key=="/"||e.key=="."||(e.keyCode<=57&&e.keyCode>=48)&&e.key!='Enter')
									//有些keyCode没有连续性,所以e.key和keyCode交替使用了
									{
										str=str+e.key;
										//console.log(str);
										}
							  if(e.key=='Enter')
							  {
								  str=eval(str);
								  //console.log(str);
								    $("#result").val(str);
							  }
						  })
						 $("#changes").click(function (){
							 var tmp = "-"
							 str =tmp + str
						     str=eval(str);
						     $("#result").val(str);
                         })
						  $(".btn").click(function(){
						  		if(this.id=="a")	{

									var value=$(this).val();
										if(flag==1&&value<="9"&&value>="0")//判断是否已经按了=按钮
											{
												flag=0;
												str="";//按了结果清零
											}
											if(flag=0&&(value=="+"||value=="-"||value=="*"||value=="/"||value=="."))
												flag=1;
										str=str+value;
										$("#result").val(str);
								}
						  	})

							$("#submit").click(function(){
										str=eval(str);
										$("#result").val(str);
										flag=1;
							})
							$("#clear").click(function(){
								str="";
								$("#result").val(str);
								flag=0;
							})
					  		$("#cahe").click(function(){ //存储
								storge = str;
								str="";
								$("#result").val(str);
								flag=0;
							})
					  		$("#getcahe").click(function(){//取存

								str=storge;
								$("#result").val(storge);
								flag=0;
							})
					  		$("#backspace").click(function(){//退格

								str = str.substr(0,str.length-1) //去除最后一个字符
								str = eval(str)
								$("#result").val(str);
								flag=0;
							})
					  		$("#sumcahe").click(function(){  //累存
								var tmp =Number(str) + Number(storge)  //先转化成数字,做相加
								str = String(tmp)  //再转成字符
								str=eval(str);
								$("#result").val(str);
								flag=1;
							})
					  		$("#mulcahe").click(function(){  //积存
								var tmp =Number(str) * Number(storge);  //先转化成数字,做相乘
								str = String(tmp);  //再转成字符
								str=eval(str);
								$("#result").val(str);
								flag=1;
							})
					  		$("#clearcahe").click(function(){  //清存
								storge ="";
								str = "";
								storge=eval(storge);
								str=eval(str);
								$("#result").val(storge,str);
								flag=1;
							})
						$(".btn").css({"height": "110px", "width": "170px", "font-size": "55px"} )
					$("#clear,#submit").css({"height": "110px", "width": "170px", "font-size": "55px"})
					});
			  </script>
	</head>
	<body style="background-color: white;">
			<table border="0"  align="center" bgColor="blue" style="height: 900px; width: 720px">
				<tr>
					<td colspan="4"><input   type="text" id="result" style="height: 180px; width: 720px; font-size: 70px" /></td>
				</tr>
				<tr>
					<td  rowspan="1"><button id="cahe" type="button" class=" btn btn-primary ">存储</button></td>
					<td  rowspan="1"><button id="getcahe" type="button" class=" btn btn-primary ">取存</button></td>
					<td  rowspan="1"><button id="backspace" type="button" class=" btn btn-primary ">退格</button></td>
					<td rowspan="1"><button id="clear" type="button" class = " btn btn-primary ">清屏</button></td>
				</tr>
				<tr>
					<td  rowspan="1"><button id="sumcahe" type="button" class=" btn btn-primary ">累存</button></td>
					<td  rowspan="1"><button id="mulcahe" type="button" class=" btn btn-primary ">积存</button></td>
					<td  rowspan="1"><button id="clearcahe" type="button" class=" btn btn-primary ">清存</button></td>
					<td><button id="a" value="/" type="button" class="btn btn-info">÷</button></td>
				</tr>
				<tr>
					<td><button id="a" value="7" type="button" class="btn btn-default">7</button></td>
					<td><button id="a" value="8" type="button" class="btn btn-default">8</button></td>
					<td><button id="a" value="9" type="button" class="btn btn-default">9</button></td>
					<td><button id="a" value="*" type="button" class="btn btn-info">*</button></td>

				</tr>
				<tr>
					<td><button id="a" value="4" type="button" class="btn btn-default">4</button></td>
					<td><button id="a" value="5" type="button" class="btn btn-default">5</button></td>
					<td><button id="a" value="6" type="button" class="btn btn-default">6</button></td>
					<td><button id="a" value="-" type="button" class="btn btn-info">-</button></td>
				</tr>
				<tr>
					<td><button id="a" value="1" type="button" class="btn btn-default">1</button></td>
					<td><button id="a" value="2" type="button" class="btn btn-default">2</button></td>
					<td><button id="a" value="3" type="button" class="btn btn-default">3</button></td>
					<td><button id="a" value="+" type="button" class="btn btn-info">+</button></td>
				</tr>
				<tr>
					<td><button id="a" value="0" type="button" class="btn btn-default">0</button></td>
					<td><button id="a" value="." type="button" class="btn btn-info">.</button></td>
					<td rowspan="1"><button id="changes" type="button" class = " btn btn-primary ">+/-</button></td>
					<td  rowspan="2"><button id="submit" type="button" class=" btn btn-warning ">=</button></td>
				</tr>

				</table>
	</body>
</html>

总结:给自己记录下来,大家一起学习,代码可以在根据所学,再做修改。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值