JQuery实现简易计算器

最近在学习jquery框架,写了好多小demo,这个案例讲的就是jquery简易版计算器。

本人目前承接各类小demo和作业,类型有HTML+CSS+JS/部分前端框架/JAVA/Android/PHP/高等数学,有意请私聊!

效果图片如下:

第一张是刚运行在网页时的效果图。

第二张是输入运算数和运算符时的效果图。

第三张是错误输入的运算符。


整体代码如下:

<html>
<head>
<meta charset="utf-8" />
<title>jquery计算器</title>
<!-- window.eval() -->
<script type="text/javascript" src="jquery-3.3.1.js"></script>
<style type="text/css">
.panel {
	margin: 0 auto;
	width: 275px;
	height: 310px;
	border: 2px solid #bbb;
}

#screen {
	width: 200px;
	height: 40px;
	border: 1px solid #bbb;
	margin: 7px 0px 0px 7px;
	float: left;
}

input {
	font-size: 20px;
	width: 50px;
	height: 50px;
	margin: 6px;
}
</style>
<script>
	$(function() {
		/*  
			思路一:将点击了input的选项的值传到input上
			
			思路二:利用原生的eval()函数计算结果,并进行赋值操作
			
			思路三:清空按钮特别处理一下
		 */

		// 点击按钮
		var clickBtn = "";
		// count判断是否是第一次点击
		var count = 0;
		//假如报错
		if (window.onerror) {
			return $("#screen").text("您的操作有误哦!");
		}
		$(":button").click(function() {
			// 选择了清零按钮
			if ($(this).val() == 'C') {
				count = 0;
				return $("#screen").text("");
			}
			// 选择了相等按钮
			if ($(this).val() == '=') {
				try {
					var inputText = $("#screen").text();
					clickBtn = window.eval(inputText);
					return $("#screen").text(window.eval(inputText));
				} catch (err) {
					count = 0;
					return $("#screen").text("您的操作有误哦!");
				}
			}
			if (count == 0) {
				$("#screen").text("");
				clickBtn = $(this).val();
			} else {
				clickBtn += $(this).val();
			}
			count++;
			return $("#screen").text(clickBtn);
		});

	});
</script>
</head>
<body>
	<div class="panel">
		<div>
			<p id="screen"></p>
			<input type="button" value="C" />
		</div>
		<div>
			<input type="button" value="7" /> <input type="button" value="8" /> <input
				type="button" value="9" /> <input type="button" value="/" /> <input
				type="button" value="4" /> <input type="button" value="5" /> <input
				type="button" value="6" /> <input type="button" value="*" /> <input
				type="button" value="1" /> <input type="button" value="2" /> <input
				type="button" value="3" /> <input type="button" value="-" /> <input
				type="button" value="0" /> <input type="button" value="." /> <input
				type="button" value="=" /> <input type="button" value="+" />
		</div>
	</div>
</body>
</html>

重难点讲解如下:

1.count在这里起的具体作用是什么?

  count是一个计数器。

  如果count为0,它的意思是要么我第一次打开这个页面,要么我点击了清零(C)按钮,即我下一步不管是点击了运算符还是运算数,都是一个全新的操作。

  它出现在三个地方,①第一次打开网页运行这个计算器,②点击了清零按钮,③运算报错出现“您的操作有误”字样。

 

2.clickBtn如何取值?

  它主要是利用jquery的val()方法取input输入框的value值,它结合count这个计数器可以实现一个比较巧妙的结果。

  判断是否是第一个使用这个运算器,如果不是第一次的话。你执行完一步操作,按下等号后出现了一个值,只要没有报错,这个值就可以作为下一个运算的第一个运算数。


最后如果你对这个代码有任何疑问,欢迎在下文给我评论留言,只要我看到了就一定会回复哒!~~

  • 6
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
可以使用jQuery编写计算器功能。首先,需要在HTML中创建一个表单元素来包含计算器的各个按钮和显示结果的区域。然后,在JavaScript中编写代码来处理按钮的点击事件和计算结果。下面是一个简单的jQuery计算器实现示例: HTML代码: ``` <form> <input type="text" id="result" readonly> <br> <input type="button" value="1" onclick="addNumber(1)"> <input type="button" value="2" onclick="addNumber(2)"> <input type="button" value="3" onclick="addNumber(3)"> <input type="button" value="+" onclick="addOperator('+')"> <br> <input type="button" value="4" onclick="addNumber(4)"> <input type="button" value="5" onclick="addNumber(5)"> <input type="button" value="6" onclick="addNumber(6)"> <input type="button" value="-" onclick="addOperator('-')"> <br> <input type="button" value="7" onclick="addNumber(7)"> <input type="button" value="8" onclick="addNumber(8)"> <input type="button" value="9" onclick="addNumber(9)"> <input type="button" value="*" onclick="addOperator('*')"> <br> <input type="button" value="0" onclick="addNumber(0)"> <input type="button" value="C" onclick="clearResult()"> <input type="button" value="=" onclick="calculate()"> <input type="button" value="/" onclick="addOperator('/')"> </form> ``` JavaScript代码: ``` var operator = ""; var operand1 = 0; var operand2 = 0; function addNumber(number) { $("#result").val($("#result").val() + number); } function addOperator(op) { operator = op; operand1 = $("#result").val(); $("#result").val(""); } function clearResult() { $("#result").val(""); } function calculate() { operand2 = $("#result").val(); var result = eval(operand1 + operator + operand2); $("#result").val(result); } ``` 该计算器实现比较简单,只能处理简单的四则运算,具体效果可见此处:https://codepen.io/chenhj/pen/oNjyqQq。当然,如果需要更加复杂的计算器需求,需要更完善的设计和实现

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值