js实现简单的计算器功能


Posted in Javascript onJanuary 16, 2017

话不多说,请看示例代码:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>简单的计算器</title>
  <style>
    * {
      margin: 0 auto;
      padding: 0px;
    }
    html, body {
      width: 100%;
      height: 100%;
    }
    a {
      text-decoration: none;
    }
    .wrap {
      width: 30%;
      min-width: 250px;
      margin: 0 auto;
      border: 1px solid #b1b1b1;
    }
    .wrap .screen {
      width: 100%;
      height: 150px;
      background-color: #8d8d8d;
    }
    .wrap .screen .string {
      height: 100%;
      user-select: none;
      font-size: 30px;
      word-break: break-all;
    }
    .wrap .button-group {
      width: 100%;
      margin-top: 5px;
    }
    .wrap .button-group td {
      width: 25%;
    }
    .wrap .button-group td a {
      display: inline-block;
      height: 80px;
      text-align: center;
      background-color: #d5d5d5;
      color: #000;
      line-height: 80px;
      font-size: 25px;
      width: 100%;
      user-select: none;
    }
    .wrap .button-group td a:hover {
      background-color: #9d9d9d;
      color: #002a80;
    }
    .wrap .button-group td a.active {
      background-color: red;
    }
  </style>
</head>
<body>
<div class="wrap">
  <div class="screen">
    <p class="string"></p>
  </div>
  <div class="button-group">
    <table cellspacing="5" cellpadding="10" border="0" width="100%">
      <tr>
        <td><a href="javascript:void(0);">7</a></td>
        <td><a href="javascript:void(0);">8</a></td>
        <td><a href="javascript:void(0);">9</a></td>
        <td><a href="javascript:void(0);">*</a></td>
      </tr>
      <tr>
        <td><a href="javascript:void(0);">4</a></td>
        <td><a href="javascript:void(0);">5</a></td>
        <td><a href="javascript:void(0);">6</a></td>
        <td><a href="javascript:void(0);">/</a></td>
      </tr>
      <tr>
        <td><a href="javascript:void(0);">1</a></td>
        <td><a href="javascript:void(0);">2</a></td>
        <td><a href="javascript:void(0);">3</a></td>
        <td><a href="javascript:void(0);">+</a></td>
      </tr>
      <tr>
        <td><a href="javascript:void(0);">DEL</a></td>
        <td><a href="javascript:void(0);">0</a></td>
        <td><a href="javascript:void(0);" class="active">=</a></td>
        <td><a href="javascript:void(0);">-</a></td>
      </tr>
    </table>
  </div>
</div>
<script>
  var numString = document.getElementsByClassName("string")[0];
  var buttonGroup = document.getElementsByTagName("a");
  var screen = document.getElementsByClassName("string")[0];
  var num1 = 0;
  var num2 = 0;
  var count = 0;
  var f;
  var flag = true;
  /*控制输入的是数字*/
  var flag2 = true;
  /*控制是否连续点击符号*/
  screen.onclick = function () {
    numString.innerHTML = "";
  };
  for (var i = 0; i < buttonGroup.length; i++) {
    buttonGroup[i].onclick = function () {
      switch (this.innerHTML) {
        case "0":
        case "1":
        case "2":
        case "3":
        case "4":
        case "5":
        case "6":
        case "7":
        case "8":
        case "9":
          if (!flag) {
            numString.innerHTML = "";
            flag2 = true;
          }
          flag = true;
            numString.innerHTML += this.innerHTML;
          break;
        case "DEL":
          numString.innerHTML = numString.innerHTML.substr(0, numString.innerHTML.length - 1);
          break;
        case "+":
        case "-":
        case "*":
        case "/":
          f = this.innerHTML;
          count++;
          if (flag2) {
            flag = false;
            /*控制输入的是符号*/
            if (count == 1) {
              num1 = numString.innerHTML;
            } else {
              flag2 = false;
              num2 = numString.innerHTML;
              numString.innerHTML = eval(num1 + f + num2);
              num1 = numString.innerHTML;
            }
          }
          break;
        case "=":
          num2 = numString.innerHTML;
          numString.innerHTML = eval(num1 + f + num2);
          count = 0;
          flag = !flag;
          break;
      }
    }
  }
</script>
</body>
</html>

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持三水点靠木!

Javascript 相关文章推荐
网页中的图片的处理方法与代码
Nov 26 Javascript
jquer之ajaxQueue简单实现代码
Sep 15 Javascript
深入浅析JavaScript中的3DES
Aug 24 Javascript
angular.js之路由的选择方法
Sep 24 Javascript
jQuery的deferred对象使用详解
Sep 25 Javascript
jQuery给表格添加分页效果
Mar 02 Javascript
ES6新特性之变量和字符串用法示例
Apr 01 Javascript
详解微信小程序调起键盘性能优化
Jul 24 Javascript
javascript中的event loop事件循环详解
Dec 14 Javascript
mpvue微信小程序多列选择器用法之省份城市选择的实现
Mar 07 Javascript
微信小程序实现单列下拉菜单效果
Apr 25 Javascript
JavaScript实现一键复制内容剪贴板
Jul 23 Javascript
Javascript中document.referrer隐藏来源的方法
Jan 16 #Javascript
基于jQuery实现的打字机效果
Jan 16 #Javascript
JS实现的验证身份证及获取地区功能示例
Jan 16 #Javascript
JavaScript严格模式详解
Jan 16 #Javascript
关于iframe跨域POST提交的方法示例
Jan 15 #Javascript
JavaScript中利用for循环遍历数组
Jan 15 #Javascript
基于Bootstrap的Java开发问题汇总(Spring MVC)
Jan 15 #Javascript
You might like
PHP队列用法实例
2014/11/05 PHP
封装的原生javascript弹出层代码
2010/09/24 Javascript
输入密码检测大写是否锁定js实现代码
2012/12/03 Javascript
jquery中获取id值方法小结
2013/09/22 Javascript
点击按钮或链接不跳转只刷新页面的脚本整理
2013/10/22 Javascript
千分位数字格式化(用逗号隔开 代码已做了修改 支持0-9位逗号隔开)的JS代码
2013/12/05 Javascript
Jquery插件之Fancybox丰富的弹出层效果附源码下载
2015/12/02 Javascript
基于JavaScript实现弹出框效果
2016/02/19 Javascript
js实现精确到毫秒的倒计时效果
2016/08/05 Javascript
微信小程序 Video API实例详解
2016/10/02 Javascript
使用Ajax与服务器(JSON)通信实例
2016/11/04 Javascript
js 动态生成json对象、时时更新json对象的方法
2016/12/02 Javascript
深入浅析AngularJs模版与v-bind
2018/07/06 Javascript
深入浅析javascript函数中with
2018/10/28 Javascript
vue-cli3中vue.config.js配置教程详解
2019/05/29 Javascript
小程序自定义模板实现吸顶功能
2020/01/08 Javascript
uniapp微信小程序:key失效的解决方法
2021/01/20 Javascript
python实现简易版计算器
2020/06/22 Python
树莓派实现移动拍照
2019/06/22 Python
PyQtGraph在pyqt中的应用及安装过程
2019/08/04 Python
Windows上安装tensorflow  详细教程(图文详解)
2020/02/04 Python
python 抓取知乎指定回答下视频的方法
2020/07/09 Python
如何用Matplotlib 画三维图的示例代码
2020/07/28 Python
html5中canvas学习笔记2-判断浏览器是否支持canvas
2013/01/06 HTML / CSS
Pretty You London官网:英国拖鞋和睡衣品牌
2019/05/08 全球购物
Johnson Fitness澳大利亚:高级健身器材
2021/03/16 全球购物
工程管理专业个人求职信范文
2013/12/07 职场文书
体育教师自荐信范文
2013/12/16 职场文书
个人收入证明范本
2014/01/12 职场文书
2014学年自我鉴定
2014/02/23 职场文书
法律系毕业生自荐信范文
2014/03/27 职场文书
硕士毕业论文导师评语
2014/12/31 职场文书
小学五一劳动节活动总结
2015/02/09 职场文书
2016暑期政治学习心得体会
2016/01/23 职场文书
asyncio异步编程之Task对象详解
2022/03/13 Python
利用Python多线程实现图片下载器
2022/03/25 Python