jQuery实现计算器功能


Posted in jQuery onOctober 19, 2020

本文实例为大家分享了jQuery实现计算器功能的具体代码,供大家参考,具体内容如下

动画效果:

jQuery实现计算器功能

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>计算器</title>
  <script src="../jquery.min.js"></script>
  <style>
    *{
      margin: 0;
      padding: 0;
    }
    #calculator{
      margin: 50px auto;
      padding: 5px;
      width: 230px;
      height: 230px;
      background: rgb(190,210,224);
    }
    #screen{
      width: 230px;
      height: 60px;
      background: rgb(153,153,153);
      border-radius: 5px;
      text-align: right;
      overflow: hidden;
    }
    #txt1{
      height: 20px;
      padding-top: 10px;
      font-size: 10px;
    }
    #txt2{
      height: 30px;
      font-size: 20px;
    }
    #num{
      float:left;
      width: 130px;
    }
    #num input{
      width: 40px;
      height: 40px;
      margin-top: 3px;
    }
    #operator{
      float:right;
      width: 70px;
      height: 170px;
    }
    #operator input{
      width: 70px;
      height: 30px;
      margin-top: 4px ;
    }
    #converter{
      float:right;
      width: 70px;
      height: 170px;
    }
 
  </style>
</head>
<body>
<div id="calculator">
  <div id="screen">
    <p id="txt1"></p>
    <p id="txt2"></p>
  </div>
  <div id="workspace">
    <div id="num">
      <input type="button" value="7">
      <input type="button" value="8">
      <input type="button" value="9">
      <input type="button" value="4">
      <input type="button" value="5">
      <input type="button" value="6">
      <input type="button" value="1">
      <input type="button" value="2">
      <input type="button" value="3">
      <input type="button" value="C">
      <input type="button" value="0">
      <input type="button" value=".">
 
    </div>
    <div id="operator">
      <input type="button" value="+">
      <input type="button" value="-">
      <input type="button" value="*">
      <input type="button" value="/">
      <input type="button" value="=">
    </div>
 
 
  </div>
</div>
 
<script>
  $(function(){
     var i=0;//i为清空标志,i=1时需要清空#txt2的数据
    //获取输入的数字
    $("#num input").click(function () {
      //先判断#txt2中是否保存着上次计算的结果,如果是则将其清空
      if (i===1){
        $("#txt2").text("");
        }
      //保证数字以正确的格式显示
      //使用switch语句实现
      switch ($(this).val()){
         case "C":
           $("#txt2").text("");
           break;
         case ".":
           if ($("#txt2").text().indexOf(".") != -1) {
           break;
           }else{$("#txt2").append($(this).val());}
           break;
         default:
           if ($("#txt2").text() === "0") {
             $("#txt2").text($(this).val());
            }else{
              $("#txt2").append($(this).val());
            }
          }
          //使用if语句实现
         /* if ($(this).val()=="C"){
             $("#txt2").text(" ");
           } else {
            if ($("#txt2").text().indexOf(".") != -1) {
              if ($(this).val() == ".") {
               } else {
                 $("#txt2").append($(this).val());
               }
            } else if ($("#txt2").text() === "0") {
              if ($(this).val() === ".") {
              $("#txt2").append($(this).val());
              } else {
                $("#txt2").text($(this).val());
              }
             }else{
              $("#txt2").append($(this).val());
             }
             }*/
         i=0;//将清空标志设为0
     });
    //获取运算符
     $("#operator input:not(:last)").click(function () {
       $("#txt1").text($("#txt2").text()+$(this).val());
       $("#txt2").text("");
     });
     //按下“=”键进行计算
     $("#operator input").last().click(function () {
       //使用eval()函数
      //$("#txt2").text(eval($("#txt1").text()+$("#txt2").text()));
       //使用常规方法
       var str=$("#txt1").text();
       var n1=parseFloat(str);
       var n2=parseFloat($("#txt2").text());
       var cal=str[str.length-1];
       switch (cal){
         case "+":
           $("#txt2").text( n1+n2);
           break;
         case "-":
           $("#txt2").text( n1-n2);
           break;
         case "*":
           $("#txt2").text( n1*n2);
           break;
         case "/":
           $("#txt2").text( n1/n2);
           break;
         default: break;
       }
       $("#txt1").text( "");
       i=1;//将清空标志设为1
     });
  });
</script>
</body>
</html>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

jQuery 相关文章推荐
jQueryeasyui 中如何使用datetimebox 取两个日期间相隔的天数
Jun 13 jQuery
jQuery修改DOM结构_动力节点Java学院整理
Jul 05 jQuery
运用jQuery写的验证表单(实例讲解)
Jul 06 jQuery
jquery tmpl模板(实例讲解)
Sep 02 jQuery
jQuery发请求传输中文参数乱码问题的解决方案
May 22 jQuery
jquery获取select选中值的文本,并赋值给另一个输入框的方法
Aug 21 jQuery
原生JS forEach()和map()遍历的区别、兼容写法及jQuery $.each、$.map遍历操作
Feb 27 jQuery
[jQuery] 事件和动画详解
Mar 05 jQuery
jQuery-Citys省市区三级菜单联动插件使用详解
Jul 26 jQuery
jquery实现购物车基本功能
Oct 25 jQuery
jQuery三组基本动画与自定义动画操作实例总结
May 09 jQuery
jQuery实现放大镜案例
Oct 19 jQuery
jQuery实现推拉门效果
Oct 19 #jQuery
jQuery实现图片切换效果
Oct 19 #jQuery
jQuery实现回到顶部效果
Oct 19 #jQuery
jQuery实现放大镜案例
Oct 19 #jQuery
jQuery插件实现图片轮播效果
Oct 19 #jQuery
jquery插件实现轮播图效果
Oct 19 #jQuery
jQuery zTree如何改变指定节点文本样式
Oct 16 #jQuery
You might like
PHP实现原比例生成缩略图的方法
2016/02/03 PHP
PHP函数checkdnsrr用法详解(Windows平台用法)
2016/03/21 PHP
Yii2针对指定url的生成及图片等的引入方法小结
2016/07/18 PHP
PHP自定义函数获取URL中一级域名的方法
2016/08/23 PHP
php实现对短信验证码发送次数的限制实例讲解
2021/03/04 PHP
JavaScript 面向对象的 私有成员和公开成员
2010/05/13 Javascript
ExpressJS入门实例
2015/01/14 Javascript
angularJS中router的使用指南
2015/02/09 Javascript
js实现仿MSN带关闭功能的右下角弹窗代码
2015/09/04 Javascript
原生JavaScript实现异步多文件上传
2015/12/02 Javascript
javascript轻量级库createjs使用Easel实现拖拽效果
2016/02/19 Javascript
vue+ElementUI实现订单页动态添加产品数据效果实例代码
2017/07/13 Javascript
AngularJS中scope的绑定策略实例分析
2017/10/30 Javascript
关于vue-cli 3配置打包优化要点(推荐)
2019/04/22 Javascript
微信小程序换肤功能实现代码(思路详解)
2020/08/25 Javascript
详解Vue3 Teleport 的实践及原理
2020/12/02 Vue.js
[02:51]DOTA2 Supermajor小组分组对阵抽签仪式
2018/06/01 DOTA
解决谷歌搜索技术文章时打不开网页问题的python脚本
2013/02/10 Python
python多线程编程方式分析示例详解
2013/12/06 Python
python Django批量导入数据
2016/03/25 Python
Python探索之爬取电商售卖信息代码示例
2017/10/27 Python
python使用KNN算法手写体识别
2018/02/01 Python
Python简单计算文件MD5值的方法示例
2018/04/11 Python
使用EduBlock轻松学习Python编程
2018/10/08 Python
Python按照list dict key进行排序过程解析
2020/04/04 Python
解决Python在导入文件时的FileNotFoundError问题
2020/04/10 Python
Python 将代码转换为可执行文件脱离python环境运行(步骤详解)
2021/01/25 Python
凯特·丝蓓英国官网:Kate Spade英国
2016/11/07 全球购物
营业员个人总结的自我评价
2013/10/25 职场文书
企划主管岗位职责
2013/12/12 职场文书
《在大海中永生》教学反思
2014/02/24 职场文书
12.4全国法制宣传日活动方案
2014/11/02 职场文书
2015年学校后勤工作总结
2015/04/08 职场文书
校园音乐节目广播稿
2015/08/19 职场文书
pandas中DataFrame检测重复值的实现
2021/05/26 Python
如何避免mysql启动时错误及sock文件作用分析
2022/01/22 MySQL