JavaScript实现简单的计算器


Posted in Javascript onJanuary 16, 2020

本文实例为大家分享了JavaScript实现简单的计算器的具体代码,供大家参考,具体内容如下

整个计算器实现由html文件、js文件和css样式表三部分组成
整体效果:body里放俩div,一个大的包一个小的,小的放键盘,键盘div里放键盘。

JavaScript实现简单的计算器

html:

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>计算器</title>
 <link rel="stylesheet" href="css/jsq_css.css">
</head>
 
<body>
 <div class="bor">
 <input type="text" class="s_text" οnfοcus="this.blur();" value="0" id="result">
 <div class="main">
  <li οnclick="command(7);">7</li>
  <li οnclick="command(8);">8</li>
  <li οnclick="command(9);">9</li>
  <li id="j_div" οnclick="tools('/','g')">÷</li>
  <li οnclick="command(4);">4</li>
  <li οnclick="command(5);">5</li>
  <li οnclick="command(6);">6</li>
  <li id="j_mul" οnclick="tools('*','g')">×</li>
  <li οnclick="command(1);">1</li>
  <li οnclick="command(2);">2</li>
  <li οnclick="command(3);">3</li>
  <li id="j_sub" οnclick="tools('-','g');">-</li>
  <li οnclick="command(0)";>0</li>
  <li id="j_c"οnclick="clearzero('j')">c</li>
  <li id="j_dy"οnclick="equal('j');">=</li>
  <li id="j_add" οnclick="tools('+','g')";>+</li>
 
  </ul>
 </div>
 </div>
</body>
</html>

css:

*{margin: 0;padding: 0}
li{list-style: none}
 
.bor{margin: 0 auto;width: 400px;height: 520px;border: 2px solid #000;
margin-top: 50px;overflow: hidden;text-align: center;}
.s_text{margin: 0 auto;width: 330px;height: 80px;margin-top: 15px;
border: 2px solid #000000;font-size: 30px;padding-left: 20px;}
.main{margin: 0 auto;width: 350px;height: 400px;margin-top: 15px;}
.main ul{display: flex;height: 100%;justify-content: space-between;flex-wrap: wrap;}
.main ul li{width: 80px;height: 80px;border: 1px solid #000000;
text-align: center; line-height:80px;font-size: 36px;cursor: pointer ;}
.main ul li:hover{background: #eeeeee;}

js:(将这段代码写在body最下面) 

<script type="text/javascript">
 var resultDom = document.getElementById("result");
 var operate = true; //操作符加锁
 var afequ = true;
 //点击计算器执行函数(点数字的时候)
 function command(num){
  //点击等号之后要进行一次清空
  if(!afequ) {
  clearzero();
  }
  //获取输入框中value的值
  var str = resultDom.value;//在这里加一个判断, 如果第一位是0, 就用""填充
  str = (str == "0" ? "":str);//条件操作符 str在判断无输入或者0的时候 都算作是0
  str += num; //拼接数字, 然后赋值给文本框
  resultDom.value = str;//.value获取文本框中的值
  operate = true; //锁住操作符
 }
 //四则运算
 function tools(p,m){
  if(operate){
  var num = resultDom.value;
  num = (num == "0" ? "":num);
  resultDom.value = num + p;
  operate = false;
  }
 }
 //得出最后的结果
 function equal(m){
  var result = resultDom.value;
  var r = eval(result); //eval() 函数计算 JavaScript 字符串,并把它作为脚本代码来执行
  resultDom.value =r;
 }
 //c归零的
 function clearzero(){
  resultDom.value=0;
 }
 
</script>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JavaScript游戏之是男人就下100层代码打包
Nov 08 Javascript
JS方法调用括号的问题探讨
Jan 24 Javascript
Jquery创建层显示标题和内容且随鼠标移动而移动
Jan 26 Javascript
用jquery等比例控制图片宽高的具体实现
Jan 28 Javascript
jQuery过滤选择器详解
Jan 13 Javascript
JavaScript如何实现图片懒加载(lazyload) 提高用户体验(增强版)
Nov 30 Javascript
细说webpack源码之compile流程-入口函数run
Dec 26 Javascript
Vue ElementUi同时校验多个表单(巧用new promise)
Jun 06 Javascript
angularjs1.5 组件内用函数向外传值的实例
Sep 30 Javascript
vue 父组件中调用子组件函数的方法
Jun 06 Javascript
JS中的算法与数据结构之字典(Dictionary)实例详解
Aug 20 Javascript
layui checkbox默认选中,获取选中值,清空所有选中项的例子
Sep 02 Javascript
js面向对象之实现淘宝放大镜
Jan 15 #Javascript
js实现简单的打印表格
Jan 15 #Javascript
js实现图片实时时钟
Jan 15 #Javascript
js实现中文实时时钟
Jan 15 #Javascript
JS实现音量控制拖动
Jan 15 #Javascript
基于vue.js实现购物车
Jan 15 #Javascript
原生js+css调节音量滑块
Jan 15 #Javascript
You might like
从Web查询数据库之PHP与MySQL篇
2009/09/25 PHP
ThinkPHP中的create方法与自动令牌验证实例教程
2014/08/22 PHP
PHP获取指定月份第一天和最后一天的方法
2015/07/18 PHP
javascript英文日期(有时间)选择器
2007/05/02 Javascript
详解js中构造流程图的核心技术JsPlumb(2)
2015/12/08 Javascript
js 获取本地文件及目录的方法(推荐)
2016/11/10 Javascript
JS实现拖拽的方法分析
2016/12/20 Javascript
Angular.js去除页面中显示的空行方法示例
2017/03/30 Javascript
使用FileReader API创建Vue文件阅读器组件
2018/04/03 Javascript
Vue.js 时间转换代码及时间戳转时间字符串
2018/10/16 Javascript
vuex如何重置所有state(可定制)
2019/01/17 Javascript
package.json中homepage属性的作用详解
2020/03/11 Javascript
JavaScript Event Loop相关原理解析
2020/06/10 Javascript
[00:30]塑造者的传承礼包-戴泽“暗影之焰”套装展示视频
2014/04/04 DOTA
[02:04]2014DOTA2国际邀请赛 DK一个时代的落幕
2014/07/21 DOTA
[00:10]DOTA2 TI9勇士令状明日上线
2019/05/07 DOTA
Python中的map、reduce和filter浅析
2014/04/26 Python
在python中使用正则表达式查找可嵌套字符串组
2017/10/24 Python
深入理解Python中的super()方法
2017/11/20 Python
Python基于生成器迭代实现的八皇后问题示例
2018/05/23 Python
如何在django里上传csv文件并进行入库处理的方法
2019/01/02 Python
Django1.11自带分页器paginator的使用方法
2019/10/31 Python
Numpy与Pytorch 矩阵操作方式
2019/12/27 Python
python基于pygame实现飞机大作战小游戏
2020/11/19 Python
Python项目打包成二进制的方法
2020/12/30 Python
Trunki英国官网:儿童坐骑式行李箱
2017/05/30 全球购物
客房主管岗位职责
2013/12/09 职场文书
会计实习生自我鉴定
2013/12/12 职场文书
会计职业生涯规划书
2014/01/13 职场文书
接受捐赠答谢词
2014/01/27 职场文书
家长学校实施方案
2014/03/15 职场文书
社会实践活动总结报告
2014/04/29 职场文书
2015年小学教导处工作总结
2015/05/26 职场文书
2016学校先进党组织事迹材料
2016/02/29 职场文书
CSS基础详解
2021/10/16 HTML / CSS
JMeter对MySQL数据库进行压力测试的实现步骤
2022/01/22 MySQL