js 计算器转摘
转自:https://mp.weixin.qq.com/s/Jxe3V7D0PFLvIFNZPlSyNg
<table>
<tr>
<td colspan="4"><input class="txt" type="text" disabled/></td>
</tr>
<tr>
<td colspan="2"><input class="btn_click" type="button" value="AC"/></td>
<td colspan="2"><input class="btn_click" type="button" value="DEL"/></td>
</tr>
<tr>
<td><input class="btn" type="button" value="7"/></td>
<td><input class="btn" type="button" value="8"/></td>
<td><input class="btn" type="button" value="9"/></td>
<td><input class="btn" type="button" value="*"/></td> </tr>
<tr>
<td><input class="btn" type="button" value="4"/></td>
<td><input class="btn" type="button" value="5"/></td>
<td><input class="btn" type="button" value="6"/></td>
<td><input class="btn" type="button" value="/"/></td> </tr>
<tr>
<td><input class="btn" type="button" value="1"/></td>
<td><input class="btn" type="button" value="2"/></td>
<td><input class="btn" type="button" value="3"/></td>
<td><input class="btn" type="button" value="-"/></td> </tr>
<tr>
<td><input class="btn" type="button" value="0"/></td>
<td><input class="btn" type="button" value="."/></td>
<td><input class="btn" type="button" value="+"/></td>
<td><input class="btn" type="button" value="="/></td> </tr> </table>
<style>
table{ border-collapse: collapse; margin: auto auto;
} td{ width: 150px; line-height: 70px;
} .btn{ width: 150px; line-height: 70px; font-size: x-large;
} .btn_click{ width: 302px; line-height: 70px; font-size: x-large;
} .txt{ width: 600px; line-height: 100px; font-size: x-large;text-align: right;
} </style>
<script> /*在网页加载时 给按钮添加点击事件*/
window.onload = function () { //定义数组 来接收用户按的数字和计算符号
var way_res = []; //获取按钮对象
var btn_txt = document.getElementsByClassName("btn"); //获取屏幕元素
var txt = document.getElementsByClassName("txt")[0]; //获取清空按钮和退格按钮
var btn_way = document.getElementsByClassName("btn_click"); for (var i = 0; i < btn_way.length; i++) {
btn_way[i].onclick = function () { //判断按钮
if (this.value == "AC") {
way_res = [];
txt.value = "";
} else { /* substr() 截断字符串 1.从那个位置开始 2.截取多少长度*/
txt.value = txt.value.substr(0, txt.value.length - 1);
}
}
} //给btn_txt 数组对象添加事件
for (var i = 0; i < btn_txt.length; i++) {
btn_txt[i].onclick = function () { /* this 指代的是当前事件的执行对象*/
/*按完键将值传给屏幕*/
/*判断是否为数字*/
if (txt.value == "" && this.value == ".") {
txt.value = "0.";
} else { if (!isNaN(this.value) || this.value == ".") { /*用户输入的是数字或者点的情况*/
/*indexOf() 用来查找字符 如果有返回当前位置 如果没有返回-1*/
if (txt.value.indexOf(".") != -1) { /*有点存在的情况*/
if (this.value != ".") { /*当前按得不是点,进行拼接*/
txt.value += this.value;
}
} else { /*没点存在直接拼接*/
txt.value += this.value;
}
} else { /*是符号的情况*/
//先存值 在清屏
if (this.value != "=") { /*是符号但不为等号的情况*/
way_res[way_res.length] = txt.value; //存符号
way_res[way_res.length] = this.value; //清屏
txt.value = "";
} else { /*是等号的情况*/
way_res[way_res.length] = txt.value; //eval()方法 专门用来计算表达式的值
txt.value = eval(way_res.join("")); //计算完成之后将数组清空
way_res = [];
}
}
}
}
}
}
</script>
js 计算器转摘的更多相关文章
- 早期练手:功能相对比较完善的 js 计算器
第一次发博客,就先发一个自己早期,刚开始学前端时,用js写的一个计算器吧,计算功能比较少,只有 + - * / ,不过其他功能还是比较完善的,比如: 输出结果后,连续按"=",可以 ...
- js计算器案例
<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>j ...
- js计算器---转
至今见过的一个还没问题的计算器,收藏在此. 转自javascript写的简单的计算器原文链接,谢分享! js部分 ar num=0,result=0,numshow="0"; va ...
- 简易js计算器
使用JS完成一个简单的计算器功能.实现2个输入框中输入整数后,点击第三个输入框能给出2个整数的加减乘除. <!DOCTYPE html> <html> <head> ...
- JS计算器(自制)
<!doctype html><html><header><meta charset="utf-8"><script src= ...
- js计算器
<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>& ...
- js精度(摘)
Math.formatFloat = function (f, digit) { var m = Math.pow(10, digit); return parseInt(f * m, 1 ...
- 基于js白色简洁样式计算器
今天给大家分享一款白色简洁样式计算器JS代码是一款精美简洁计算器JS代码插件网页特效,软件应用,后台应用JS计算器插件代码免费下载.适用浏览器:360.FireFox.Chrome.Safari.Op ...
- 纯JS实现房贷利率报表对比
最近朋友买房,想计算下自己的房贷的还款情况,自己正好周末没事,从网上找来点代码修改,也算是对自己技术的巩固吧. 目前这个还只是个初级版本,暂时可以在PC上正常访问,将来会一步一步的把相继功能都加上的, ...
随机推荐
- Java判断字符串是否为数字的自定义方法
//方法一:用JAVA自带的函数 public static boolean isNumeric(String str){ for (int i = str.length();--i>=0;){ ...
- Masonry中的mas_makeConstraints方法
2018年04月12日 10:10:54 阅读数:138 一.简单介绍 我们一般来说会这样进行使用 [view mas_makeConstraints:^(MASConstraintMaker *ma ...
- JavaWeb学习(一) ---- HTTP以及Tomcat的安装及使用
HTTP 一.协议 双方在交互.通讯的时候,遵循的一种规范,一种规则. 二.HTTP协议 HTTP的全名是:Hypertext Transfer Protocol(超文本传输协议),针对网络上的客户端 ...
- tkinter属性(总结)
一.主要控件 1.Button 按钮.类似标签,但提供额外的功能,例如鼠标掠过.按下.释放以及键盘操作事件 2.Canvas 画布.提供绘图功能(直线.椭圆.多边形.矩形) 可以包含图形或位图 3.C ...
- javascript 中的apply()和call()方法详解
1.语法 先来看看JS手册中对call的解释: call 方法 调用一个对象的一个方法,以另一个对象替换当前对象. call([thisObj[,arg1[, arg2[, [,.argN]]]]]) ...
- Python eval 函数妙用
eval 功能:将字符串str当成有效的表达式来求值并返回计算结果. 语法: eval(source, globals, locals) -> value 参数: source:一个Python ...
- TestNG entryset的用法及遍历map的用法
以下内容引自 http://blog.csdn.net/bestone0213/article/details/47904107 (注: 该 url不是原出处.其博主注明转载,但未注明转自何处) k ...
- 用Axure进行原型设计
用Axure进行原型设计 看这个视频 http://www.iqiyi.com/playlist409963402.html
- Instrumentation(3)
摘要: Instrumentation 类加载过程 Instrumentation与Transformer Instrumentation与Transformer的关系 Instrumenta ...
- 【BZOJ4417】: [Shoi2013]超级跳马
题目链接: 传送. 题解: 矩阵快速幂优化DP. 先考虑$nm^2$DP,设$f_{(i,j)}$表示从$1,1$到$i,j$的方案,显然这个方程和奇偶性有关,我们考虑某列的$i$同奇偶性的转移和奇偶 ...