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 相关文章推荐
bcastr2.0 通用的图片浏览器
Nov 22 Javascript
Code: write(s,d) 输出连续字符串
Aug 19 Javascript
5款Javascript颜色选择器
Oct 25 Javascript
PHP中使用微秒计算脚本执行时间例子
Nov 19 Javascript
纯JS代码实现一键分享功能
Apr 20 Javascript
JS冒泡事件与事件捕获实例详解
Nov 25 Javascript
一道面试题引发的对javascript类型转换的思考
Mar 06 Javascript
javascript观察者模式实现自动刷新效果
Sep 05 Javascript
详解Vue用自定义指令完成一个下拉菜单(select组件)
Oct 31 Javascript
vue移动UI框架滑动加载数据的方法
Mar 12 Javascript
vue如何根据网站路由判断页面主题色详解
Nov 02 Javascript
详解bootstrap-fileinput文件上传控件的亲身实践
Mar 21 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+mysql写的简单留言本实例代码
2008/07/25 PHP
php正则表达式(regar expression)
2011/09/10 PHP
php三维数组去重(示例代码)
2013/11/26 PHP
详解PHP的Yii框架中的Controller控制器
2016/03/29 PHP
php登录超时检测功能实例详解
2017/03/21 PHP
PHP单例模式数据库连接类与页面静态化实现方法
2019/03/20 PHP
CentOS7系统搭建LAMP及更新PHP版本操作详解
2020/03/26 PHP
鼠标图片振动代码
2006/07/06 Javascript
js 格式化时间日期函数小结
2010/03/20 Javascript
使用js判断控件是否获得焦点
2014/01/03 Javascript
零基础搭建Node.js、Express、Ejs、Mongodb服务器及应用开发入门
2014/12/20 Javascript
jQuery简单实现日历的方法
2015/05/04 Javascript
jQuery布局组件EasyUI Layout使用方法详解
2017/02/28 Javascript
JavaScript取得gridview中获取checkbox选中的值
2017/07/24 Javascript
Mongoose实现虚拟字段查询的方法详解
2017/08/15 Javascript
基于jQuery中ajax的相关方法汇总(必看篇)
2017/11/08 jQuery
ionic2.0双击返回键退出应用
2019/09/17 Javascript
python写入中英文字符串到文件的方法
2015/05/06 Python
梯度下降法介绍及利用Python实现的方法示例
2017/07/12 Python
Android分包MultiDex策略详解
2017/10/30 Python
python yield关键词案例测试
2019/10/15 Python
Python偏函数Partial function使用方法实例详解
2020/06/17 Python
python中的错误如何查看
2020/07/08 Python
用python制作个音乐下载器
2021/01/30 Python
HTML5 Web Workers之网站也能多线程的实现
2013/04/24 HTML / CSS
美国创意礼品网站:UncommonGoods
2017/02/03 全球购物
汽车专业人才自我鉴定范文
2013/12/29 职场文书
厂长岗位职责
2014/02/19 职场文书
春风行动实施方案
2014/03/28 职场文书
体操比赛口号
2014/06/10 职场文书
个人工作总结范文2014
2014/11/07 职场文书
自荐信格式模板
2015/03/27 职场文书
学校捐款活动总结
2015/05/09 职场文书
Python爬虫基础之初次使用scrapy爬虫实例
2021/06/26 Python
SpringBoot+Vue+JWT的前后端分离登录认证详细步骤
2021/09/25 Java/Android
CentOS安装Nginx并部署vue
2022/04/12 Servers