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 相关文章推荐
用JavaScript调用WebService的示例
Apr 07 Javascript
js原生态函数中使用jQuery中的 $(this)无效的解决方法
May 25 Javascript
js Form.elements[i]的使用实例
Nov 13 Javascript
通过JQuery实现win8一样酷炫的动态磁贴效果(示例代码)
Jul 13 Javascript
Jquery使用val方法读写value值
May 18 Javascript
js实现获取鼠标当前的位置
Dec 14 Javascript
谈谈jQuery之Deferred源码剖析
Dec 19 Javascript
js实现固定宽高滑动轮播图效果
Jan 13 Javascript
jQuery+ThinkPHP+Ajax实现即时消息提醒功能实例代码
Mar 21 jQuery
浅谈js基础数据类型和引用类型,深浅拷贝问题,以及内存分配问题
Sep 02 Javascript
node之本地服务器图片上传的方法示例
Mar 26 Javascript
用webAPI实现图片放大镜效果
Nov 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的日期与时间函数技巧
2008/04/24 PHP
php抓取页面与代码解析 推荐
2010/07/23 PHP
JS对象与JSON格式数据相互转换
2012/02/20 Javascript
js定时器的使用(实例讲解)
2014/01/06 Javascript
js判断undefined类型示例代码
2014/02/10 Javascript
通过url查找a元素应用案例
2014/04/29 Javascript
Javascript代码实现仿实例化类
2015/04/03 Javascript
JavaScript中的Math.LOG2E属性使用详解
2015/06/14 Javascript
js实现文本框只允许输入数字并限制数字大小的方法
2015/08/19 Javascript
win7下安装配置node.js+express开发环境
2015/12/06 Javascript
浅析javascript的return语句
2015/12/15 Javascript
Svg.js实例教程及使用手册详解(一)
2016/05/16 Javascript
深入理解js函数的作用域与this指向
2016/05/28 Javascript
Bootstrap响应式侧边栏改进版
2016/09/17 Javascript
JS实用的带停顿的逐行文本循环滚动效果实例
2016/11/23 Javascript
JavaScript字符集编码与解码详谈
2017/02/02 Javascript
jQuery实现获取h1-h6标题元素值的方法
2017/03/06 Javascript
JavaScript生成图形验证码
2020/08/24 Javascript
JS 60秒后重新发送验证码的实例讲解
2017/07/26 Javascript
Vue Cli与BootStrap结合实现表格分页功能
2017/08/18 Javascript
JS基于对象的特性实现去除数组中重复项功能详解
2017/11/17 Javascript
使用wxapp-img-loader自定义组件实现微信小程序图片预加载功能
2018/10/18 Javascript
windows下安装python paramiko模块的代码
2013/02/10 Python
详解Django框架中用context来解析模板的方法
2015/07/20 Python
Python基于matplotlib绘制栈式直方图的方法示例
2017/08/09 Python
实例讲解Python脚本成为Windows中运行的exe文件
2019/01/24 Python
深入了解Django View(视图系统)
2019/07/23 Python
基于Pytorch SSD模型分析
2020/02/18 Python
完美解决keras保存好的model不能成功加载问题
2020/06/11 Python
网站性能延迟加载图像的五种技巧(小结)
2020/08/13 HTML / CSS
JD Sports荷兰:英国领先的运动时尚零售商
2020/03/13 全球购物
售后服务经理岗位职责范本
2014/02/22 职场文书
园艺师求职信
2014/03/10 职场文书
高三学习决心书
2014/03/11 职场文书
体育之星事迹材料
2014/05/11 职场文书
OpenCV 图像梯度的实现方法
2021/07/25 Python