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上正常访问,将来会一步一步的把相继功能都加上的, ...
随机推荐
- 【转】拍拍网2015年mysql最新开发规范
1.命名规范 (1)库名.表名.字段名必须使用小写字母,并采用下划线分割. (2)库名.表名.字段名禁止超过32个字符. (3)库名.表名.字段名必须见名知意.命名与业务.产品线等相关联. (4)库名 ...
- Android的JDK、SDK、Eclipse的理解
今天看了这方面的内容,感觉学到了一些东西: 首先,jdk是用来处理Java语言的, sdk是用来处理Java语言和硬件之间的关联的, eclipse是用来编写Java语言的, 通过对这方面的理解,加深 ...
- JFrame图形界面 ----鼠标消息
#开始 不管是什么GUI 按钮的存在都是必不可少的而且还会有很多奇怪的按钮 #代码 package window; import java.awt.Container; import java.awt ...
- SpringBoot如何新建一个项目 2017.12.14
http://blog.csdn.net/q649381130/article/details/77875736 从入门到精通
- mysql运维必会的一些知识点整理
(1)基础笔试命令考察 1.开启MySQL服务 /etc/init.d/mysqld start service mysqld start systemctl start mysqld 2.检测端口是 ...
- SPU和SKU有什么区别
SPU = Standard Product Unit (标准产品单位)SPU是商品信息聚合的最小单位,是一组可复用.易检索的标准化信息的集合,该集合描述了一个产品的特性.通俗点讲,属性值.特性相同的 ...
- [HAOI2008]移动玩具 状压
发现自己只会打状压了. 233333 不需要考虑是否会被挡,所以直接dp #include<cstdio> #include<cstring> #include<iost ...
- BZOJ_3477_[Usaco2014 Mar]Sabotage_二分答案
BZOJ_3477_[Usaco2014 Mar]Sabotage_二分答案 题意: 约翰的牧场里有 N 台机器,第 i 台机器的工作能力为 Ai.保罗阴谋破坏一些机器,使得约翰的工作效率变低.保罗可 ...
- Java中的异常简介
Java中异常的分类 Java中的异常机制是针对正常运行程序的一个必要补充,一般来说没有加入异常机制,程序也能正常运营,但是,由于入参.程序逻辑的严谨度,总会有期望之外的结果生成,因此加入异常机制的补 ...
- 机器学习类别不平衡处理之欠采样(undersampling)
类别不平衡就是指分类任务中不同类别的训练样例数目差别很大的情况 常用的做法有三种,分别是1.欠采样, 2.过采样, 3.阈值移动 由于这几天做的project的target为正值的概率不到4%,且数据 ...