ajax实现简单计算器,一个简单的jQuery计算器实现了连续计算功能
7 | 8 | 9 | + |
4 | 5 | 6 | - |
1 | 2 | 3 | * |
0 | = | c | / |
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;
}
ajax实现简单计算器,一个简单的jQuery计算器实现了连续计算功能相关推荐
- php输出计算器,一个简单的在线计算器
1.[代码][PHP]代码 一个简单的计算器 //如果用户单击了计算按钮才存在表单变量,才能接收表单数据和对数据进行验证 //以下if语句判断是否将表单中的两个操作数提交到本页面,如果没有则不执行 i ...
- android 观察者模式的简单demo,一个简单的demo彻底搞懂观察者模式
介绍 观察者模式也被称为发布-订阅(Publish/Subscribe)模式,它属于行为型模式的一种.观察者模式定义了一种一对多的依赖关系,一个主题对象可被多个观察者对象同时监听.当这个主题对象状态变 ...
- python 类的简单应用--一个简单的扑克游戏
扑克小游戏 学python刚学到类的时候无意间看到有人说作了一个扑克牌的游戏 然后一时兴起试着写了一个简单的比大小的游戏,顺便找一下多年逢赌必输的真相 o.o 下面贴出来的是在python3.6当中运 ...
- ajax开发 短期班,一个简单的ajax 来mock数据
目录结构: 图片.png index.html代码: 查询 var Oinput=document.querySelector("#username"); var Obtn=doc ...
- JSP简单练习-一个简单的计数器
在JSP中,在"<%"和"%>"之间书写的程序代码成为java程序片. 一个JSP页面中可以有多个java程序片.要注意的是,在Java程序片中声明 ...
- verilog 简单module_一个简单的verilog小程序
这是一个verilog单口SRAM的代码,不知道为什么输出总是高阻,请高人指点一下.代码如下modulesram_8_8(wr,rd,din,dout,address,cs);inputwr,rd,c ...
- android简单loading,一个简单能用的LoadingDialog
感谢习惯沉默,我也是受此启发才做了这个项目,虽然之前写过文章,也去他的博客底下评论过,不过时过境迁,现在评论的功能已经被关闭了,还是在项目里感谢一下. LoadingDialog 如何使用 Step ...
- c聊天室系统asp ajax,利用AJAX和ASP.NET实现简单聊天室
利用AJAX和ASP.NET实现简单聊天室 我的第一个简单的Chatroom是用ASP3.0写成的.那无外乎有二个TextBox,他们发送消息 给程序变量然后显示在一个每秒刷新的页面上.在那个时代,一 ...
- 多线程爬虫python_一个简单的多线程Python爬虫
最近想要抓取拉勾网的数据,最开始是使用Scrapy的,但是遇到了下面两个问题: 前端页面是用JS模板引擎生成的 接口主要是用POST提交参数的 目前不会处理使用JS模板引擎生成的HTML页面,用POS ...
最新文章
- 开学季,教你用Python画大学教室座位神分区图!网友直呼“中枪”
- python错误找回_致命的Python错误:无法从堆栈溢出中恢复。洪水期间Fi
- 从源码的角度分析MapReduce的map-input流程
- Nginx集群session管理的两种方式
- 神奇的 Go init 函数
- wamp惯用的php框架_wamp集成环境php多版本搭建(php5.5,php5.6,php7.0.6)
- java基础——构造函数小知识点
- python坐标系 向量分量_关于Python中的向量相加和numpy中的向量相加效率对比
- 工具类与工具函数 —— NextPrime
- linux 扫描开放的端口命令,在Linux系统中检查(扫描)开放端口的方法
- [Python] 字典 update()函数:在字典中更新 (或加入) 键值对
- Oracle、MySql、SQLServer 数据库分页查询语句
- SpringCloud
- word2016插入公式技巧2
- ceph 运维操作 - POOL
- java 阿拉伯数字日期转换为中文大写日期方法_java方法转换大写日期及人民币大写转换方式 .txt...
- 带通滤波器幅频特性曲线图_滤波器知识,你所要的,都在这里
- ubuntu下安装skyeye方法
- 垃圾分类之上传一张图片进行测试
- 成长笔记(个人心路历程)
热门文章
- 华为服务器型号查询,服务器设备型号查询
- linux兼容性,Atom 1.23发布:功能增强,兼容性更好
- java log4j 文件_java log4j 日志文件
- 基于注解的 AOP 配置
- 真厉害用python只要50行代码爬取黑丝美眉纯欲高清图
- 【PHPWord】图片
- java 去掉 时期中的图片,去除图片浅色背景(Java 实现)
- python启动jupyter_如何在启动JupyterNotebook时自动执行代码?
- 开机f8修复电脑步骤_电脑无法启动,屏幕显示白色小横条,怎么办?可收藏以备不时之需...
- mysql5.5数据库名_mysql5.5数据库名