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 XMLHttpRequest对象全面剖析
Apr 24 Javascript
jquery的Theme和Theme Switcher使用小结
Sep 08 Javascript
基于jquery的分页控件(C#)
Jan 06 Javascript
Jquery原生态实现表格header头随滚动条滚动而滚动
Mar 18 Javascript
Javascript 计算字符串在localStorage中所占字节数
Oct 21 Javascript
Bootstrap CSS布局之列表
Dec 15 Javascript
js数字滑动时钟的简单实现(示例讲解)
Aug 14 Javascript
vue axios 二次封装的示例代码
Dec 08 Javascript
vue2.0+vue-dplayer实现hls播放的示例
Mar 02 Javascript
VUE实现强制渲染,强制更新
Oct 29 Javascript
JavaScript实现电灯开关小案例
Mar 30 Javascript
详解Vue slot插槽
Nov 20 Vue.js
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
Display SQL Server Login Mode
2007/06/21 Javascript
js下写一个事件队列操作函数
2010/07/19 Javascript
jQuery中get()方法用法实例
2014/12/27 Javascript
jQuery插件slick实现响应式移动端幻灯片图片切换特效
2015/04/12 Javascript
情人节单身的我是如何在敲完代码之后收到12束玫瑰的(javascript)
2015/08/21 Javascript
AngularJS实现元素显示和隐藏的几个案例
2015/12/09 Javascript
浅析JS操作DOM的一些常用方法
2016/05/13 Javascript
JavaScript学习笔记--常用的互动方法
2016/12/07 Javascript
微信小程序WebSocket实现聊天对话功能
2018/07/06 Javascript
nodejs之koa2请求示例(GET,POST)
2018/08/07 NodeJs
Vue自定义指令写法与个人理解
2019/02/09 Javascript
浅析JavaScript中的事件委托机制跟深浅拷贝
2021/01/20 Javascript
[02:40]DOTA2英雄基础教程 炼金术士
2013/12/23 DOTA
[04:32]玩具屠夫中文语音节选
2020/08/23 DOTA
在Debian下配置Python+Django+Nginx+uWSGI+MySQL的教程
2015/04/25 Python
pycharm运行出现ImportError:No module named的解决方法
2018/10/13 Python
Python实现从SQL型数据库读写dataframe型数据的方法【基于pandas】
2019/03/18 Python
python3.4 将16进制转成字符串的实例
2019/06/12 Python
postman传递当前时间戳实例详解
2019/09/14 Python
分享8点超级有用的Python编程建议(推荐)
2019/10/13 Python
python匿名函数lambda原理及实例解析
2020/02/07 Python
Python实现常见的几种加密算法(MD5,SHA-1,HMAC,DES/AES,RSA和ECC)
2020/05/09 Python
Python实现播放和录制声音的功能
2020/08/12 Python
python 判断一组数据是否符合正态分布
2020/09/23 Python
35款精致的 CSS3 和 HTML5 网页模板 推荐
2012/08/03 HTML / CSS
CSS3媒体查询Media Queries基础学习教程
2016/02/29 HTML / CSS
HTML5 通信API 跨域门槛将不再高、数据推送也不再是梦
2013/04/25 HTML / CSS
英国空调、除湿机和通风设备排名第一:Air Con Centre
2019/02/25 全球购物
配件采购员岗位职责
2013/12/03 职场文书
自我鉴定怎么写
2013/12/05 职场文书
优秀经理事迹材料
2014/02/01 职场文书
解除合同协议书
2014/04/17 职场文书
老兵退伍标语
2014/10/07 职场文书
投资公司董事长岗位职责
2015/04/16 职场文书
CocosCreator ScrollView优化系列之分帧加载
2021/04/14 Python
Python中使用tkFileDialog实现文件选择、保存和路径选择
2022/05/20 Python