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 相关文章推荐
一直复略了的一个问题,关于表单重复提交
Feb 15 Javascript
用AJAX返回HTML片段中的JavaScript脚本
Jan 04 Javascript
Extjs学习笔记之二 初识Extjs之Form
Jan 07 Javascript
基于jQuery的淡入淡出可自动切换的幻灯插件
Aug 24 Javascript
jQuery实现带滚动线条导航效果的方法
Jan 30 Javascript
基于jQuery实现左右图片轮播(原理通用)
Dec 24 Javascript
js自定义trim函数实现删除两端空格功能
Feb 09 Javascript
微信小程序非swiper组件实现的自定义伪3D轮播图效果示例
Dec 11 Javascript
vue项目中锚点定位替代方式
Nov 13 Javascript
JS+CSS实现3D切割轮播图
Mar 21 Javascript
js实现从右往左匀速显示图片(无缝轮播)
Jun 29 Javascript
浅谈 JavaScript 沙箱Sandbox
Nov 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
认识并使用PHP超级全局变量
2010/01/26 PHP
php语言流程控制中的主动与被动
2012/11/05 PHP
浅析PHP页面局部刷新功能的实现小结
2013/06/21 PHP
ThinkPHP框架实现的邮箱激活功能示例
2018/06/15 PHP
网页的标准,IMG不支持onload标签怎么办
2006/06/29 Javascript
javascript 解决表单仍然提交即使监听处理函数返回false
2010/03/14 Javascript
JQuery中$.ajax()方法参数详解及应用
2013/12/12 Javascript
jquery实现动静态条形统计图
2015/08/17 Javascript
Bootstrap 组件之按钮(二)
2016/05/11 Javascript
JS实现保留n位小数的四舍五入问题示例
2016/08/03 Javascript
bootstrap警告框示例代码分享
2017/05/17 Javascript
对象不支持indexOf属性或方法的解决方法(必看)
2017/05/28 Javascript
详解Vue+axios+Node+express实现文件上传(用户头像上传)
2018/08/10 Javascript
微信小程序如何使用云开发
2019/05/17 Javascript
了解javascript中let和var及const关键字的区别
2019/05/24 Javascript
vue 数据操作相关总结
2020/12/17 Vue.js
[01:05:12]2014 DOTA2国际邀请赛中国区预选赛 TongFu VS CIS-GAME
2014/05/21 DOTA
[46:23]完美世界DOTA2联赛PWL S2 FTD vs Magma 第一场 11.20
2020/11/23 DOTA
python sys,os,time模块的使用(包括时间格式的各种转换)
2018/04/27 Python
python3利用venv配置虚拟环境及过程中的小问题小结
2018/08/01 Python
浅析python中的迭代与迭代对象
2018/10/08 Python
python 统计一个列表当中的每一个元素出现了多少次的方法
2018/11/14 Python
Python中关于浮点数的冷知识
2019/09/22 Python
Python urllib.request对象案例解析
2020/05/11 Python
Python控制台实现交互式环境执行
2020/06/09 Python
torchxrayvision包安装过程(附pytorch1.6cpu版安装)
2020/08/26 Python
python opencv角点检测连线功能的实现代码
2020/11/24 Python
韩国三星集团旗下时尚品牌官网:SSF SHOP
2016/08/02 全球购物
施华洛世奇巴西官网:SWAROVSKI巴西
2019/12/03 全球购物
智能家居、吸尘器、滑板车、电动自行车网上购物:Geekmaxi
2021/01/18 全球购物
我的中国梦演讲稿600字
2014/08/19 职场文书
医院党的群众路线教育实践活动领导班子对照检查材料
2014/09/25 职场文书
2014大学班主任工作总结
2014/11/08 职场文书
任长霞观后感
2015/06/16 职场文书
Mysql服务添加 iptables防火墙策略的方案
2021/04/29 MySQL
win11电脑关机鼠标灯还亮怎么解决? win11关机后鼠标灯还亮解决方法
2023/01/09 数码科技