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这个计数器可以实现一个比较巧妙的结果。

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


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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章