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 相关文章推荐
jquery.form.js异步提交表单详解
Apr 25 jQuery
各种选择框jQuery的选中方法(实例讲解)
Jun 27 jQuery
jQuery实现简单的计时器功能实例分析
Aug 29 jQuery
jquery实现限制textarea输入字数的方法
Sep 06 jQuery
jquery 一键复制到剪切板的实例
Sep 20 jQuery
jquery实现图片跟随鼠标的实例
Oct 17 jQuery
jquery 动态遍历select 赋值的实例
Sep 12 jQuery
jQuery实现点击图标div循环放大缩小功能
Sep 30 jQuery
jQuery实现的点击显示隐藏下拉菜单功能完整示例
May 17 jQuery
jquery操作select常见方法大全【7种情况】
May 28 jQuery
jQuery属性选择器用法实例分析
Jun 28 jQuery
jQuery 隐藏/显示效果函数用法实例分析
May 20 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 array的学习笔记
2012/05/16 PHP
PHP使用星号隐藏用户名,手机和邮箱的实现方法
2016/09/22 PHP
PHP数据库处理封装类实例
2016/12/24 PHP
如何实现JS函数的重载
2006/09/22 Javascript
js计算精度问题小结
2013/04/22 Javascript
jqgrid 编辑添加功能详细解析
2013/11/08 Javascript
Javascript玩转继承(三)
2014/05/08 Javascript
JavaScript插件化开发教程(六)
2015/02/01 Javascript
nodejs中的fiber(纤程)库详解
2015/03/24 NodeJs
JS中取二维数组中最大值的方法汇总
2016/04/17 Javascript
jQuery+CSS3实现点赞功能
2017/03/13 Javascript
Angular 4 指令快速入门教程
2017/06/07 Javascript
Angular 表单控件示例代码
2017/06/26 Javascript
基于jquery ajax的多文件上传进度条过程解析
2019/09/11 jQuery
[02:32]“虐狗”镜头慎点 2016国际邀请赛中国区预选赛现场玩家采访
2016/06/28 DOTA
Python 2.7中文显示与处理方法
2018/07/16 Python
python将一组数分成每3个一组的实例
2018/11/14 Python
Python hexstring-list-str之间的转换方法
2019/06/12 Python
Pycharm 文件更改目录后,执行路径未更新的解决方法
2019/07/19 Python
Pandas分组与排序的实现
2019/07/23 Python
Python使用lambda表达式对字典排序操作示例
2019/07/25 Python
Django 实现xadmin后台菜单改为中文
2019/11/15 Python
Python猜数字算法题详解
2020/03/01 Python
Python面向对象程序设计之类和对象、实例变量、类变量用法分析
2020/03/23 Python
10行Python代码实现Web自动化管控的示例代码
2020/08/14 Python
python logging模块的使用
2020/09/07 Python
美国网上眼镜商城:Zenni Optical
2016/11/20 全球购物
德国黑胶唱片、街头服装及运动鞋网上商店:HHV
2018/08/24 全球购物
结婚喜宴家长答谢词
2014/01/15 职场文书
公安学专业求职信
2014/07/27 职场文书
纪念九一八事变演讲稿:勿忘国耻
2014/09/14 职场文书
乡镇党的群众路线教育实践活动制度建设计划
2014/11/03 职场文书
2016北大自主招生自荐信模板
2016/01/28 职场文书
JavaScript原型链中函数和对象的理解
2022/06/16 Javascript
使用 DataAnt 监控 Apache APISIX的原理解析
2022/07/07 Servers
TS 类型收窄教程示例详解
2022/09/23 Javascript