jQuery实现简易计算器功能
短信预约 -IT技能 免费直播动态提醒
jQuery制作一个简易计算器,供大家参考,具体内容如下
页面效果:
源码:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
<meta charset="utf-8" />
<style>
#all {
width: 600px;
margin: 0px auto;
background-color: deepskyblue;
height: 400px;
padding-top: 20px;
}
#myCal {
width: 500px;
height: 300px;
margin: 0px auto;
}
table {
border-collapse: collapse;
text-align: center;
}
td {
border: 1px solid white;
}
button {
width: 96px;
height: 40px;
font-size: 26px;
font-family: "宋体";
color: navy;
background-color:white;
}
</style>
<script class="lazy" data-src="js/jquery-1.8.2.min.js"></script>
<script>
var Num1 = ""; //存放数字1
var Num2 = ""; //存放数字2
var Char = ""; //存放运算符
var Result = "";//存放结果
$(function () {//页面加载时绑定事件
$("button").hover(function () {
$(this).css({"background-color":"orange","color":"white"});//鼠标悬停时更改背景颜色与字体颜色
}, function () {
$(this).css({ "background-color": "white", "color": "navy" });
});
//给运算符添加点击事件
$('.char').click(function () {
if (Num2 == "") {
Char = $(this).text();
$('#content').val(Num1 + Char);
} else if(Num2!="") {
switch (Char) {//当Num2存在时 代表两个数字已存在,并点了一个新运算符 则直接进行运算
case "+":
Result = parseFloat(Num1) + parseFloat(Num2);
break;
case "-":
Result = parseFloat(Num1) - parseFloat(Num2);
break;
case "*":
Result = parseFloat(Num1) * parseFloat(Num2);
break;
case "/":
Result = parseFloat(Num1) / parseFloat(Num2);
break;
}
Num2 = "";//清空Num2的值
Num1 = Result;//将结果的值赋值给Num1
Char = $(this).text();//更新下一次点击 的运算符
$('#content').val(Num1 + Char);//将更新完的运算符 和结果一起拼接到文本框中
}
});
//给数字添加点击事件
$('.num').click(function () {
var txt = $(this).text();//拿到当前点击的数字按钮
if (Char == "") {//如果运算符为空 则代表第一次点击 或者点击了等于号
if (Result != Num1) {//如果Result!=Num1 则代表 没有点击=号
Num1 = Num1 + txt;//正常拼接
$('#content').val(Num1);//显示
} else {//点击了=号
Num1 = "";//清空Num1值 以免 等于号计算出的结果直接拼接了新的值
Num1 = Num1 + txt;//拼接新的输入值
$('#content').val(Num1);//显示
}
}else {
Num2 = Num2 + txt;//如果运算符已存在 则输入的是第二个数
$('#content').val(Num1 + Char + Num2);//拼接
}
});
$(".clear").click(function () {//归零按钮 清空所有值 并将输入框按钮的值还原成0
Num1 = "";
Num2 = "";
Char = "";
Result = "";
$('#content').val("0");
});
$(".result").click(function () {
switch (Char) {//做一个判断,不同的运算符做不同的运算
case "+":
Result = parseFloat(Num1) + parseFloat(Num2);
break;
case "-":
Result = parseFloat(Num1) - parseFloat(Num2);
break;
case "*":
Result = parseFloat(Num1) * parseFloat(Num2);
break;
case "/":
Result = parseFloat(Num1) / parseFloat(Num2);
break;
}
$('#content').val(Result);
Num1 = Result;//将计算结果赋值给Num1
Char = "";//在这里清空原有的运算符 以跟直接点击+-/*运算符区分开
Num2 = "";//清空Num2的值
});
});
</script>
</head>
<body>
<div id="all">
<div id="myCal">
<div style="margin:auto;text-align:center;font-size:20px;font-family:'宋体';color:navy'">jQuery简易计算器</div>
<table style="margin-top:20px;">
<tr>
<td colspan="4"><input id="content" value="0" style="height:40px;width:490px;font-size:30px;color:blue;font-family:'宋体';text-align:right" /></td>
</tr>
<tr>
<td><button class="num">7</button></td>
<td><button class="num">8</button></td>
<td><button class="num">9</button></td>
<td><button class="char">+</button></td>
</tr>
<tr>
<td><button class="num">4</button></td>
<td><button class="num">5</button></td>
<td><button class="num">6</button></td>
<td><button class="char">-</button></td>
</tr>
<tr>
<td><button class="num">1</button></td>
<td><button class="num">2</button></td>
<td><button class="num">3</button></td>
<td><button class="char">*</button></td>
</tr>
<tr>
<td><button class="num">0</button></td>
<td><button class="clear">C</button></td>
<td><button class="char">/</button></td>
<td><button class="result">=</button></td>
</tr>
</table>
</div>
</div>
</body>
</html>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程网。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341