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 相关文章推荐
js截取中英文字符串、标点符号无乱码示例解读
Apr 17 Javascript
jQuery使用height()获取高度需要注意的地方
Dec 13 Javascript
jquery实现带渐变淡入淡出并向右依次展开的多级菜单效果实例
Aug 22 Javascript
Easyui 之 Treegrid 笔记
Apr 29 Javascript
微信小程序 获取相册照片实例详解
Nov 16 Javascript
利用JavaScript实现拖拽改变元素大小
Dec 14 Javascript
Vue 过渡实现轮播图效果
Mar 27 Javascript
Vue.js实现一个SPA登录页面的过程【推荐】
Apr 29 Javascript
如何为你的JavaScript代码日志着色详解
Apr 08 Javascript
javascript面向对象三大特征之多态实例详解
Jul 24 Javascript
深入了解Vue.js 混入(mixins)
Jul 23 Javascript
vue 组件简介
Jul 31 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 和 HTML
2006/10/09 PHP
php下实现在指定目录搜索指定类型文件的函数
2008/10/03 PHP
PHPnow安装服务[apache_pn]失败的问题的解决方法
2010/09/10 PHP
php配合jquery实现增删操作具体实例
2013/12/12 PHP
php内核解析:PHP中的哈希表
2014/01/30 PHP
php绘图之在图片上写中文和英文的方法
2015/01/24 PHP
PHP简单实现模拟登陆功能示例
2017/09/15 PHP
再谈Yii Framework框架中的事件event原理与应用
2020/04/07 PHP
基于jquery实现的鼠标滑过按钮改变背景图片
2011/07/15 Javascript
jquery实现导航固定顶部的效果仿蘑菇街
2014/10/22 Javascript
再谈javascript原型继承
2014/11/10 Javascript
javascript 动态修改css样式方法汇总(四种方法)
2015/08/27 Javascript
jQuery仿京东商城楼梯式导航定位菜单
2016/07/25 Javascript
js发送短信倒计时的简单实现方法
2016/09/08 Javascript
jquery.validate表单验证插件使用方法解析
2016/11/07 Javascript
vue登录注册及token验证实现代码
2017/12/14 Javascript
jQuery基于闭包实现的显示与隐藏div功能示例
2018/06/09 jQuery
Angular 利用路由跳转到指定页面的指定位置方法
2018/08/31 Javascript
JavaScript实现汉字转换为拼音及缩写的方法示例
2019/03/28 Javascript
jQuery创建折叠式菜单
2019/06/15 jQuery
layUI实现列表查询功能
2019/07/27 Javascript
Vue项目接入Paypal实现示例详解
2020/06/04 Javascript
深入解读VUE中的异步渲染的实现
2020/06/19 Javascript
原生JavaScript实现留言板
2021/01/10 Javascript
Python使用Redis实现作业调度系统(超简单)
2016/03/22 Python
pandas DataFrame实现几列数据合并成为新的一列方法
2018/06/08 Python
aec加密 php_php aes加密解密类(兼容php5、php7)
2021/03/14 PHP
css3 transform属性详解
2014/09/30 HTML / CSS
女子锻炼服装和瑜伽服装:Splits59
2019/03/04 全球购物
波兰办公用品和学校用品在线商店:Dlabiura24.pl
2020/11/18 全球购物
若通过ObjectOutputStream向一个文件中多次以追加方式写入object,为什么用ObjectInputStream读取这些object时会产生StreamCorruptedException?
2016/10/17 面试题
大学生实习自我鉴定
2013/12/11 职场文书
法学自荐信
2014/06/20 职场文书
2015年幼儿园班主任工作总结
2015/05/12 职场文书
python基础之文件操作
2021/10/24 Python
python数字图像处理:图像简单滤波
2022/06/28 Python