Jquery实现简易计算器

Jquery实现简易计算器

效果图如下
在这里插入图片描述

代码如下:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<style type="text/css">
			body {
				margin: 50px;
			}

			#box {
				border: 1px solid #ccc;
				border-radius: 4px;
				width: 175px;
				height: 285px;
				padding: 10px;
			}

			#result {
				width: 161px;
				margin-bottom: 10px;
				height: 30px;
				border: 1px solid #cccccc;
				border-radius: 2px;
				background-color: white;
				color: #666666;
				padding: 0 5px;
				text-align: right;
			}

			#box>.btn {
				width: 40px;
				height: 40px;
				border: 1px solid #cccccc;
				border-radius: 2px;
				cursor: pointer;
				background-color: white;
				font-weight: bold;
				color: #666;
				margin-bottom: 10px;
			}
			#box>.btn:hover{
				color: white;
				background-color: #666;
			}
			#box>.btn:last-of-type{
				width: 85px;
			}
		</style>
	</head>
	<body>
		<div id="box">
			<input type="text" value="0" id="result" readonly="readonly" />
			<button class="btn" onclick="clean()">C</button>
			<button class="btn" onclick="negation()">+/-</button>
			<button class="btn" onclick="symbol('x')">x</button>
			<button class="btn" onclick="symbol('÷')">÷</button>
			<button class="btn" onclick="input('1')">1</button>
			<button class="btn" onclick="input('2')">2</button>
			<button class="btn" onclick="input('3')">3</button>
			<button class="btn" onclick="symbol('-')">-</button>
			<button class="btn" onclick="input('4')">4</button>
			<button class="btn" onclick="input('5')">5</button>
			<button class="btn" onclick="input('6')">6</button>
			<button class="btn" onclick="symbol('+')">+</button>
			<button class="btn" onclick="input('7')">7</button>
			<button class="btn" onclick="input('8')">8</button>
			<button class="btn" onclick="input('9')">9</button>
			<button class="btn" onclick="symbol('%')">%</button>
			<button class="btn" onclick="input('0')">0</button>
			<button class="btn" onclick="point()">.</button>
			<button class="btn" onclick="sum()">=</button>
		</div>
		<script src="jquery-1.8.3.js" type="text/javascript" charset="utf-8"></script>
		<script>
			//输入数值
			function input(param){
				let inputVal = $("#result").val();
				let lastNum = getlastNum(inputVal);
				if (parseInt(lastNum)===0 && !/0\./.test(lastNum)) {//第一个数是0,替代,但是要排除0.的情况
					$("#result").val(inputVal.length>1?(inputVal.substring(0,inputVal.length-1)+param):param);
				} else{//第一个数不是0,拼接
					$("#result").val(inputVal+param);
				}
			}
			//输入运算符
			function symbol(param){
				let inputVal = $("#result").val();
				$("#result").val(inputVal + " " + param + " ");
			}
			//清空
			function clean(){
				$("#result").val("0")
			}
			//取到输入的最后一个数
			function getlastNum(str){
				return str.substring(str.lastIndexOf(" "));;
			}
			//输入.
			function point(){
				let inputVal = $("#result").val();
				let lastNum = getlastNum(inputVal);
				if (lastNum.indexOf('.')>-1) {//不允许存在多个点
					return
				} else{
					$("#result").val(inputVal+'.');
				}
			}
			//正负号
			function negation(){
				let inputVal = $("#result").val();
				let lastNum = getlastNum(inputVal).trim();
				let prevNum = inputVal.substring(0,inputVal.lastIndexOf(" "));
				if (lastNum.indexOf('-')==-1) {
					lastNum = " -"+lastNum;
				} else{
					lastNum = " "+lastNum.trim().substring(1);
				}
				$("#result").val(prevNum+lastNum);
			}
			//计算结果
			function sum(){
				try{
					//将x÷运算符转换成*/
					let inputVal = $("#result").val().replace("x","*").replace("÷","/");
					let result = eval(inputVal);
					$("#result").val(result);
				}catch(e){
					alert("运算异常");
					$("#result").val("0");
				}
				
			}
		</script>
	</body>
</html>

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值