一个简单的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 相关文章推荐
js数组的操作详解
Mar 27 Javascript
按下回车键指向下一个位置的一个函数代码
Mar 10 Javascript
JS实现仿QQ聊天窗口抖动特效
May 10 Javascript
JavaScript中的getDay()方法使用详解
Jun 09 Javascript
javascript中for/in循环及使用技巧
Sep 01 Javascript
详解js中class的多种函数封装方法
Jan 03 Javascript
js实现点击切换checkbox背景图片的简单实例
May 08 Javascript
基于 flexible 的 Vue 组件:Toast -- 显示框效果
Dec 26 Javascript
微信小程序如何获取用户信息
Jan 26 Javascript
微信小程序实现animation动画
Jan 26 Javascript
在vue中使用echars实现上浮与下钻效果
Nov 08 Javascript
原生JavaScript创建不可变对象的方法简单示例
May 07 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
解析array splice的移除数组中指定键的值,返回一个新的数组
2013/07/02 PHP
PHP函数strip_tags的一个bug浅析
2014/05/22 PHP
php实现短信发送代码
2015/07/05 PHP
PHP验证码生成原理和实现
2016/01/24 PHP
PHP静态方法和静态属性及常量属性的区别与介绍
2019/03/22 PHP
Packer 3.0 JS压缩及混淆工具 下载
2007/05/03 Javascript
javascript在myeclipse中报错的解决方法
2013/10/29 Javascript
用json方式实现在 js 中建立一个map
2014/05/02 Javascript
js判断滚动条是否已到页面最底部或顶部实例
2014/11/20 Javascript
JavaScript中的console.group()函数详细介绍
2014/12/29 Javascript
jQuery中noconflict函数的实现原理分解
2015/02/03 Javascript
es6新特性之 class 基本用法解析
2018/05/05 Javascript
详解vue项目接入微信JSSDK的坑
2018/12/14 Javascript
vue实现简单的日历效果
2020/09/24 Javascript
JavaScript 监听组合按键思路及代码实现
2020/07/28 Javascript
JS实现页面鼠标点击出现图片特效
2020/08/19 Javascript
[02:04]2014DOTA2国际邀请赛 BBC小组赛第三天总结
2014/07/12 DOTA
wxpython 学习笔记 第一天
2009/03/16 Python
Python对象体系深入分析
2014/10/28 Python
用Python编写简单的定时器的方法
2015/05/02 Python
python基于Tkinter库实现简单文本编辑器实例
2015/05/05 Python
深入解析Python编程中JSON模块的使用
2015/10/15 Python
Python之列表的插入&amp;替换修改方法
2018/06/28 Python
Python3 读、写Excel文件的操作方法
2018/10/20 Python
将python文件打包成EXE应用程序的方法
2019/05/22 Python
pytorch多进程加速及代码优化方法
2019/08/19 Python
使用SQLAlchemy操作数据库表过程解析
2020/06/10 Python
赫里福德的一家乡村零售商店:Philip Morris & Son
2017/06/25 全球购物
英国汽车零件购物网站:GSF Car Parts
2019/05/23 全球购物
教师应聘个人求职信
2013/12/10 职场文书
三八妇女节活动总结
2014/05/04 职场文书
信电学院毕业生自荐书
2014/05/24 职场文书
自查自纠整改报告
2014/11/06 职场文书
离婚协议书范本(通用篇)
2014/11/30 职场文书
2015年度房地产工作总结
2015/04/09 职场文书
八月迷情观后感
2015/06/11 职场文书