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上正常访问,将来会一步一步的把相继功能都加上的, ...
随机推荐
- Netty中解码基于分隔符的协议和基于长度的协议
在使用Netty的过程中,你将会遇到需要解码器的基于分隔符和帧长度的协议.本节将解释Netty所提供的用于处理这些场景的实现. 基于分隔符的协议 基于分隔符的(delimited)消息协议使用定义的字 ...
- C# 冒泡法
C#冒泡排序 1:原理 以此比较相邻的两个元素,每次比较完毕最大的一个字跑到本轮的末尾. 目的:按从小到大排序. 方法: 假设存在数组:72, 54, 59, 30, 31, 78, 2, 77, ...
- Linux时间子系统之(十五):clocksource
专题文档汇总目录 Notes:clocksource基本概念,struct clocksource详解:注册和注销clocksource:内核如何选取clocksource:clocksource相关 ...
- Unable to find remote helper for 'https'
出现这个报错,说明git目前的状态是正常的,要么没装好,要么自己解决压缩安装导致没有权限 第三次情况是,使用yum install git 重新安装后,仍然报错,是因为环境变量中GIT_HOM配置的仍 ...
- Javascript继承,再谈
说到Javascript的继承,相信只要是前端开发者都有所了解或应用,因为这是太基础的知识了.但不知各位有没有深入去理解其中的玄机与奥秘.今本人不才,但也想用自己的理解来说一说这其中的玄机和奥秘. 一 ...
- javascript 内存管理
1.垃圾回收机制 在编写Javascript程序时,开发人员不用关心内存问题,内存分配及无用内存的回收完全实现了自动化管理.垃圾收集器会按照预定的时间间隔, 周期性的找出那些不再继续使用的变量,然后释 ...
- 玩转Spring MVC(二)----MVC框架
早期程序员在编写代码时是没有一个规范的,系统的业务逻辑和数据库的访问时混合在一起的,不仅增加了大量的重复工作,而且增加了后期维护的难度. 后来,人们逐渐发现某些通用的功能是可以单独的封装起来的,这样就 ...
- SecureCRT在同一窗口打开多个标签
打开SecureCRT - 文件 - 连接 ,勾选"在标签页中打开".
- [爬虫]爬虫时碰到的IOError: [Errno ftp error] [Errno 10060]错误的原因以及解决方法
IOError: [Errno ftp error] [Errno 10060] 原因是爬取页面过快造成暂时被网站ban掉的情况,设置time.sleep(1)就好,后来发现ban的时间不定,就自己动 ...
- Python集合set
集合 set 集合是无序的 集合的值是唯一的 求两个集合的关系: list1 = [1,4,5,7,3,6,7,9] list2 = set([2,6,0,66,22,8,4]) list3 = se ...