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


相关推荐: Laravel软删除怎么实现_Laravel Eloquent SoftDeletes功能使用教程  ,南京靠谱的征婚网站?  Laravel如何处理JSON字段_Eloquent原生JSON字段类型操作教程  EditPlus中的正则表达式 实战(4)  Laravel如何使用withoutEvents方法临时禁用模型事件  PHP怎么接收前端传的文件路径_处理文件路径参数接收方法【汇总】  如何快速上传建站程序避免常见错误?  详解Android图表 MPAndroidChart折线图  HTML5打空格有哪些误区_新手常犯的空格使用错误【技巧】  Laravel如何部署到服务器_线上部署Laravel项目的完整流程与步骤  长沙企业网站制作哪家好,长沙水业集团官方网站?  如何快速生成高效建站系统源代码?  如何用PHP快速搭建高效网站?分步指南  Windows家庭版如何开启组策略(gpedit.msc)?(安装方法)  网站制作大概要多少钱一个,做一个平台网站大概多少钱?  新三国志曹操传主线渭水交兵攻略  软银砸40亿美元收购DigitalBridge 强化AI资料中心布局  如何快速上传自定义模板至建站之星?  Swift中swift中的switch 语句  香港服务器网站推广:SEO优化与外贸独立站搭建策略  android nfc常用标签读取总结  Laravel如何实现全文搜索功能?(Scout和Algolia示例)  零基础网站服务器架设实战:轻量应用与域名解析配置指南  如何基于云服务器快速搭建个人网站?  Javascript中的事件循环是如何工作的_如何利用Javascript事件循环优化异步代码?  如何快速搭建高效香港服务器网站?  Laravel怎么实现模型属性的自动加密  Laravel如何记录自定义日志?(Log频道配置)  Internet Explorer官网直接进入 IE浏览器在线体验版网址  如何快速生成凡客建站的专业级图册?  Laravel如何使用API Resources格式化JSON响应_Laravel数据资源封装与格式化输出  Python自动化办公教程_ExcelWordPDF批量处理案例  Laravel storage目录权限问题_Laravel文件写入权限设置  Laravel如何使用Service Provider注册服务_Laravel服务提供者配置与加载  如何批量查询域名的建站时间记录?  Laravel如何使用Guzzle调用外部接口_Laravel发起HTTP请求与JSON数据解析【详解】  Laravel API资源类怎么用_Laravel API Resource数据转换  为什么要用作用域操作符_php中访问类常量与静态属性的优势【解答】  香港服务器建站指南:外贸独立站搭建与跨境电商配置流程  Python文件操作最佳实践_稳定性说明【指导】  Laravel如何为API编写文档_Laravel API文档生成与维护方法  如何快速搭建安全的FTP站点?  公司门户网站制作公司有哪些,怎样使用wordpress制作一个企业网站?  开心动漫网站制作软件下载,十分开心动画为何停播?  如何快速搭建自助建站会员专属系统?  黑客如何通过漏洞一步步攻陷网站服务器?  微信小程序 canvas开发实例及注意事项  Edge浏览器提示“由你的组织管理”怎么解决_去除浏览器托管提示【修复】  如何快速搭建FTP站点实现文件共享?  Laravel如何优化应用性能?(缓存和优化命令)