js实现简单的计算器功能

发布时间 - 2026-01-10 22:32:34    点击率:

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

<!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>

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


# js  # 计算器  # html+js实现简单的计算器代码(加减乘除)  # 简易的JS计算器实现代码  # 纯js代码实现简单计算器  # 超级简易的JS计算器实例讲解(实现加减乘除)  # 的是  # 多说  # solid  # border  # screen  # decoration  # text  # height  # min  # wrap  # word  # size  # font  # group  # button  # break  # d8d8d  # color  # background  # select 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 公司门户网站制作公司有哪些,怎样使用wordpress制作一个企业网站?  如何用AWS免费套餐快速搭建高效网站?  图册素材网站设计制作软件,图册的导出方式有几种?  动图在线制作网站有哪些,滑动动图图集怎么做?  C++时间戳转换成日期时间的步骤和示例代码  焦点电影公司作品,电影焦点结局是什么?  黑客如何利用漏洞与弱口令入侵网站服务器?  音响网站制作视频教程,隆霸音响官方网站?  Laravel Vite是做什么的_Laravel前端资源打包工具Vite配置与使用  如何快速搭建支持数据库操作的智能建站平台?  儿童网站界面设计图片,中国少年儿童教育网站-怎么去注册?  Laravel策略(Policy)如何控制权限_Laravel Gates与Policies实现用户授权  如何有效防御Web建站篡改攻击?  java ZXing生成二维码及条码实例分享  Laravel怎么解决跨域问题_Laravel配置CORS跨域访问  香港服务器网站生成指南:免费资源整合与高速稳定配置方案  Laravel怎么实现前端Toast弹窗提示_Laravel Session闪存数据Flash传递给前端【方法】  手机网站制作与建设方案,手机网站如何建设?  如何快速搭建虚拟主机网站?新手必看指南  郑州企业网站制作公司,郑州招聘网站有哪些?  Laravel如何使用withoutEvents方法临时禁用模型事件  网站制作软件免费下载安装,有哪些免费下载的软件网站?  Laravel如何实现全文搜索功能?(Scout和Algolia示例)  *服务器网站为何频现安全漏洞?  标题:Vue + Vuex + JWT 身份认证的正确实践与常见误区解析  Laravel中间件如何使用_Laravel自定义中间件实现权限控制  Win11怎样安装网易有道词典_Win11安装词典教程【步骤】  Java类加载基本过程详细介绍  Python文件操作最佳实践_稳定性说明【指导】  如何在IIS7中新建站点?详细步骤解析  Laravel如何使用Service Provider服务提供者_Laravel依赖注入与容器绑定【深度】  如何做网站制作流程,*游戏网站怎么搭建?  php json中文编码为null的解决办法  Laravel Seeder怎么填充数据_Laravel数据库填充器的使用方法与技巧  Laravel怎么定时执行任务_Laravel任务调度器Schedule配置与Cron设置【教程】  品牌网站制作公司有哪些,买正品品牌一般去哪个网站买?  无锡营销型网站制作公司,无锡网选车牌流程?  PHP 500报错的快速解决方法  Laravel Facade的原理是什么_深入理解Laravel门面及其工作机制  如何用AI一键生成爆款短视频文案?小红书AI文案写作指令【教程】  阿里云网站搭建费用解析:服务器价格与建站成本优化指南  Linux虚拟化技术教程_KVMQEMU虚拟机安装与调优  Laravel怎么配置S3云存储驱动_Laravel集成阿里云OSS或AWS S3存储桶【教程】  Laravel如何生成URL和重定向?(路由助手函数)  制作旅游网站html,怎样注册旅游网站?  高端建站如何打造兼具美学与转化的品牌官网?  iOS发送验证码倒计时应用  Win11关机界面怎么改_Win11自定义关机画面设置【工具】  极客网站有哪些,DoNews、36氪、爱范儿、虎嗅、雷锋网、极客公园这些互联网媒体网站有什么差异?  在线教育网站制作平台,山西立德教育官网?