一个简单的jQuery计算器实现了连续计算功能


Posted in Javascript onJuly 21, 2014

一个简单的jQuery计算器,只是实现了一个连续计算的功能

<!DOCTYPE html> 
<html> 
<head> 
<meta charset="utf8"/> 
<title>Javascript计算器</title> 
</head> 
<body> 
<table> 
<tr> 
<td colspan="4"><input id="show" value="0"/></td> 
</tr> 
<tr> 
<td><button onclick="number(this)" value="7">7</button></td> 
<td><button onclick="number(this)" value="8">8</button></td> 
<td><button onclick="number(this)" value="9">9</button></td> 
<td><button onclick="calsym(this)" value="+">+</button></td> 
</tr> 
<tr> 
<td><button onclick="number(this)" value="4">4</button></td> 
<td><button onclick="number(this)" value="5">5</button></td> 
<td><button onclick="number(this)" value="6">6</button></td> 
<td><button onclick="calsym(this)" value="-">-</button></td> 
</tr> 
<tr> 
<td><button onclick="number(this)" value="1">1</button></td> 
<td><button onclick="number(this)" value="2">2</button></td> 
<td><button onclick="number(this)" value="3">3</button></td> 
<td><button onclick="calsym(this)" value="*">*</button></td> 
</tr> 
<tr> 
<td><button onclick="number(this)" value="0">0</button></td> 
<td><button onclick="calsym(this)" value="=">=</button></td> 
<td><button onclick="clearCal()" value="c">c</button></td> 
<td><button onclick="calsym(this)" value="/">/</button></td> 
</tr> 
</table> 
</body> 
<script type="text/javascript" src="jquery-1.9.1.js"></script> 
<script type="text/javascript" src="jquery-1.9.1.min.js"></script> 
<script type="text/javascript"> 
var num0 = null; 
var num1 = null; 
var symble = null; 
var lastclick = null; 
var symarr = new Array(); //符号集合 
symarr[0] = '+'; 
symarr[1] = '/'; 
symarr[2] = '*'; 
symarr[3] = '-'; 
symarr[4] = '='; 
function number(n){ 
var numnow = $('#show'); 
var _exist=$.inArray(lastclick,symarr); //判断上次点击是否为符号 
if (numnow.val() == 0 || _exist != -1) {//若显示框为0 或者上次点击为符号,则重新记录显示框 
numnow.val($(n).val()); 
}else{ 
numnow.val(parseInt(numnow.val()) * 10 +parseInt($(n).val())); 
} 
lastclick = $(n).val(); // 更新上次点击 
} 

function calsym(cs){ //符号点击事件响应 
var numnow = $('#show'); 
var _exist=$.inArray(lastclick,symarr); 
if (num0 == null && symble == null) { //初始状态 
num0 = numnow.val(); 
symble = $(cs).val(); 
}else if(num0 != null && num1 == null && _exist !=-1){ // 连续点操作符的处理,及第一次点击操作符处理 
symble = $(cs).val(); 
}else{ //正常计算状态 
num1 = numnow.val(); 
var result = calculate(symble,num0,num1); 
symble = $(cs).val(); //上行及本行:先计算之前的运算符及结果,再更新运算符为本次点击 
num0 = result; 
numnow.val(result); 
num1 = null; 
} 
lastclick = $(cs).val(); // 更新上次点击 
} 

function clearCal(){ //清空函数 
$('#show').val('0'); 
num0 = null; 
num1 = null; 
symble = null; 
lastclick = null; 
} 

function calculate(sym,m,n){ //计算并返回结果 
var res = null; 
m = parseInt(m); 
n = parseInt(n); 
switch(sym){ 
case '+': 
res = m+n; 
break; 
case '-': 
res = m-n; 
break; 
case '*': 
res = m*n; 
break; 
case '/': 
if (n == 0) { 
alert("false"); 
break; 
} 
res = m/n; 
break; 
default: 
break; 
} 
return res; 
} 
</script> 
</html>
Javascript 相关文章推荐
Javascript中的相等与不等运算
Apr 25 Javascript
实现高性能JavaScript之执行与加载
Jan 30 Javascript
基于socket.io+express实现多房间聊天
Mar 17 Javascript
javascript淘宝主图放大镜功能
Oct 20 Javascript
使用smartupload组件实现jsp+jdbc上传下载文件实例解析
Jan 05 Javascript
jQuery源码分析之sizzle选择器详解
Feb 13 Javascript
JS字符串false转boolean的方法(推荐)
Mar 08 Javascript
浅谈Express异步进化史
Sep 09 Javascript
jQuery 开发之EasyUI 添加数据的实例
Sep 26 jQuery
Javascript Web Worker使用过程解析
Mar 16 Javascript
JavaScript动画实例之粒子文本的实现方法详解
Jul 28 Javascript
JS实现京东商品分类侧边栏
Dec 11 Javascript
JavaScript访问CSS属性的几种方式介绍
Jul 21 #Javascript
javascript实现的元素拖动函数宿主为浏览器
Jul 21 #Javascript
javascript定义变量时有var和没有var的区别探讨
Jul 21 #Javascript
JQuery中$(document)是什么意思有什么作用
Jul 21 #Javascript
jquery显示隐藏input对象
Jul 21 #Javascript
jquery实现保存已选用户
Jul 21 #Javascript
jquery实现显示已选用户
Jul 21 #Javascript
You might like
php制作中间带自己定义图片二维码的方法
2014/01/27 PHP
PHP获取客户端真实IP地址的5种情况分析和实现代码
2014/07/08 PHP
PHP CURL 多线程操作代码实例
2015/05/13 PHP
PHP多维数组转一维数组的简单实现方法
2015/12/23 PHP
PHP 输出缓冲控制(Output Control)详解
2016/08/25 PHP
PHP XML和数组互相转换详解
2016/10/26 PHP
php 判断IP为有效IP地址的方法
2018/01/28 PHP
jQuery与其它库冲突的解决方法
2010/06/25 Javascript
ASP.NET jQuery 实例14 在ASP.NET form中校验时间范围
2012/02/03 Javascript
js取得url地址参数实例
2013/02/22 Javascript
JavaScript加强之自定义callback示例
2013/09/21 Javascript
使用JQuery在线制作ppt并在线演示源码特效
2015/09/08 Javascript
js点击返回跳转到指定页面实现过程
2020/08/20 Javascript
Bootstrap与KnockoutJs相结合实现分页效果实例详解
2016/05/03 Javascript
拥Bootstrap入怀——导航栏篇
2016/05/30 Javascript
JQuery统计input和textarea文字输入数量(代码分享)
2016/12/29 Javascript
CodeMirror js代码加亮使用总结
2017/03/25 Javascript
简单实现vue验证码60秒倒计时功能
2017/10/11 Javascript
vue实现分页组件
2020/06/16 Javascript
vue-loader中引入模板预处理器的实现
2019/09/04 Javascript
基于JQuery实现页面定时弹出广告
2020/05/08 jQuery
Python 文件和输入输出小结
2013/10/09 Python
带你认识Django
2019/01/15 Python
Python pandas.DataFrame调整列顺序及修改index名的方法
2019/06/21 Python
Python学习之os模块及用法
2020/06/03 Python
python中 _、__、__xx__()区别及使用场景
2020/06/30 Python
用60行代码实现Python自动抢微信红包
2021/02/04 Python
CSS3实现瀑布流布局与无限加载图片相册的实例代码
2016/12/22 HTML / CSS
前端实现背景虚化但内容清晰且自适应 的实例代码
2019/08/01 HTML / CSS
Guess欧洲官网:美国服饰品牌
2019/08/06 全球购物
俄罗斯在线水暖商店:Perfecto.ru
2019/10/25 全球购物
蛋糕店的商业计划书范文
2014/01/27 职场文书
加强作风建设演讲稿
2014/10/24 职场文书
瘦西湖导游词
2015/02/03 职场文书
休假证明书
2015/06/24 职场文书
golang语言指针操作
2022/04/14 Golang