js写计算器实现加减乘除效果
来源:互联网 发布:快消行业数据分析 编辑:程序博客网 时间:2024/04/25 17:59
点击试用
效果图:
<!DOCTYPE html><html> <head> <meta charset="utf-8" /> <title></title> <style type="text/css"> *{margin: 0;padding: 0;} .cal{width: 500px;height: 300px;background-color: brown;margin: 50px auto;cursor: pointer;} #he{width: 500px;height: 57px;border-bottom: 3px solid #fff;float: left;font-size: 30px;line-height: 57px;color: white;} th{width: 115px;height:53px;border: 2px solid#FFFFFF;color: white;} th:hover{font-size:25px;transition: all 0.5s;color: yellow;} #cheng{float: right;width: 130px;height: 235px;margin-top: -288px;margin-right: 3px;} #cheng button{width: 130px;height: 47px;margin-top: 1px;} </style> </head> <body> <div class="cal"> <div id="he"></div> <table> <tr> <th>7</th> <th>8</th> <th>9</th> </tr> <tr> <th>4</th> <th>5</th> <th>6</th> </tr> <tr> <th>1</th> <th>2</th> <th>3</th> </tr> <tr> <th>0</th> <th id="dian">.</th> <th id="del">del</th> </tr> </table> <div id="cheng"> <button id="clear">←</button> <button>/</button> <button>*</button> <button>+</button> <button>-</button> <button>=</button> </div> </div> </body><script type="text/javascript">var th=document.getElementsByTagName("th")var he=document.getElementById("he")var but=document.getElementById("cheng").getElementsByTagName("button")var dian=document.getElementById("dian")var del=document.getElementById('del')var clear=document.getElementById("clear")//加减乘除开关var click=true; //点开关var point=true; //0.开关var num=true;//数字开关var dig=true; for(var i=0;i<th.length-2;i++){ th[i].onclick=function(){ //如果dig=true及开关打开 数字按键输入有效 if(dig){ //模拟显示屏数字拼接 he.innerHTML=he.innerHTML+this.innerHTML; //点击数字之后,打开加减乘除开关 关闭0.开关 click=true; num=false; } } } dian.onclick=function(){ //如果point开关打开,point按键有效 if(point){ //如果显示屏内容为空,点击 . 显示0. if(he.innerHTML.length==0){ he.innerHTML="0."; //0.之后加减乘除开关关闭及0.之后不能直接参与运算 click=false; }else{ //如果显示屏内容不为空 并且0.开关打开 点击显示0. if (num) { he.innerHTML=he.innerHTML+"0."; //加减乘除开关关闭 click=false; } else{ //如果显示屏内容不为空 并且0.开关没有打开 点击.正常拼接 he.innerHTML=he.innerHTML+this.innerHTML; } // 数字运算符输入完毕将加减乘除开关打开 click=true; } } //每次操作完将point开关关闭 point=false; } //遍历所有button开关 for(var j=0;j<but.length;j++){ but[j].onclick=function(){ //判断加减乘除开关是否打开 if(click){ if (this.innerHTML=="=") { //点击等号并且显示屏有内容 if(he.innerHTML.length>0){ //求值 加减乘除开关打开 数字开关和点开关关闭 he.innerHTML=eval(he.innerHTML) click=true; dig=false; point=false; }else{ //显示屏内容为空 点击=号依然为空,并打开数字和点开关 he.innerHTML=""; dig=true; point=true; } }else{ //如果点击的是+-*/运算符并且显示屏内容为空 就在运算符前+0显示 if(he.innerHTML.length==0){ he.innerHTML=he.innerHTML+0+this.innerHTML }else{ //显示屏有内容就进行内容拼接 he.innerHTML=he.innerHTML+this.innerHTML } //运算符点击后 关闭运算符开关 打开点和数字开关 click=false; point=true; dig=true; } } //运算符点击之后打开0.开关 num=true; } } del.onclick=function(){ //点击del清空显示屏 所有开关重置 he.innerHTML=""; point=true; click=true; dig=true; num=true; } clear.onclick=function(){ //每点击clear一次消除显示屏length的最后一个值 he.innerHTML=he.innerHTML.substring(0,he.innerHTML.length-1) }</script></html>
简单开关控制逻辑:
深层次的bug未作探究
阅读全文
0 0
- js写计算器实现加减乘除效果
- html+js实现的简单计算器(加减乘除)
- js 计算器(加减乘除)
- 运用PHP写计算器(实现加减乘除 取余数)功能
- 【简单计算器】实现加减乘除
- 计算器实现(加减乘除)
- 用js实现简易计算器(只能实现加减乘除)
- 用php实现加减乘除计算器
- NetBeans实现计算器的加减乘除
- Java计算器实现加减乘除功能
- 32位汇编写简单加减乘除计算器
- 用java代码写的简易计算器(可以实现基本的加减乘除功能)
- js实现精确加减乘除
- js实现加减乘除
- JS实现精确加减乘除
- 加减乘除计算器
- Java实现简单计算器的加减乘除功能
- C#实现简单的加减乘除计算器
- ADO.NET 快速入门(一):ADO.NET 概述
- JavaScript中的sort排序问题
- linux下执行bin不加./怎么直接运行
- mysql(四/3)表的操作
- Nginx多方位优化策略
- js写计算器实现加减乘除效果
- 欢迎使用CSDN-markdown编辑器
- SpringMvc基础基础最基础
- TensorFlow入门教程:1:安装和第一个例子程序
- window下cmd文件和文件夹的相关命令
- Java中的接口
- JAVA类型转换
- P1605 迷宫
- jquery_01_1