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使用JSONP实现跨域获取数据的三种方法详解
May 04 jQuery
Jquery+Ajax+xml实现中国地区选择三级联动菜单效果(推荐)
Jun 09 jQuery
运用jQuery写的验证表单(实例讲解)
Jul 06 jQuery
jQuery EasyUI的TreeGrid查询功能实现方法
Aug 08 jQuery
简单实现jQuery弹窗效果
Oct 30 jQuery
JQuery选中select组件被选中的值方法
Mar 08 jQuery
jQuery实现模糊查询的方法分析
May 10 jQuery
jQuery解析json格式数据示例
Sep 01 jQuery
jQuery 获取除某指定对象外的其他对象 ( :not() 与.not())
Oct 10 jQuery
jQuery实现判断滚动条滚动到document底部的方法分析
Aug 27 jQuery
jQuery实现全选、反选和不选功能的方法详解
Dec 04 jQuery
jQuery实现tab栏切换效果
Dec 22 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实现从ftp服务器上下载文件树到本地电脑的程序
2009/02/10 PHP
php后退一页表单内容保存实现方法
2012/06/17 PHP
PHP实现登录验证码校验功能
2018/05/17 PHP
Yii2框架控制器、路由、Url生成操作示例
2019/05/27 PHP
JavaScript 拖拉缩放效果
2008/12/10 Javascript
js 设置选中行的样式的实现代码
2010/05/24 Javascript
PHP和NodeJs开发的应用如何共用Session
2015/04/16 NodeJs
一张Web前端的思维导图分享
2015/07/03 Javascript
javascript获取重复次数最多的字符
2015/07/08 Javascript
20分钟轻松创建自己的Bootstrap站点
2016/05/12 Javascript
JavaScript中利用for循环遍历数组
2017/01/15 Javascript
js实现打地鼠小游戏
2017/02/13 Javascript
兼容浏览器的js事件绑定函数(详解)
2017/05/09 Javascript
vuejs使用递归组件实现树形目录的方法
2017/09/30 Javascript
JS/HTML5游戏常用算法之碰撞检测 像素检测算法实例详解
2018/12/12 Javascript
vue中利用Promise封装jsonp并调取数据
2019/06/18 Javascript
javascript canvas检测小球碰撞
2020/04/17 Javascript
VUE使用 wx-open-launch-app 组件开发微信打开APP功能
2020/08/11 Javascript
微信小程序调用后台service教程详解
2020/11/06 Javascript
Python3实现从指定路径查找文件的方法
2015/05/22 Python
Python基础之getpass模块详细介绍
2017/08/10 Python
Python实现识别手写数字大纲
2018/01/29 Python
Python爬虫设置代理IP(图文)
2018/12/23 Python
浅谈在django中使用redirect重定向数据传输的问题
2020/03/13 Python
使用python实现飞机大战游戏
2020/03/23 Python
Jupyter Notebook 远程访问配置详解
2021/01/11 Python
HTML5+CSS3实现机器猫
2016/10/17 HTML / CSS
某IT外企面试题-二分法求方程!看看大家的C++功底
2015/07/04 面试题
日语专业个人的求职信
2013/12/03 职场文书
校园招聘策划书
2014/01/09 职场文书
考研复习计划
2015/01/19 职场文书
返乡农民工证明
2015/06/24 职场文书
2016年五一劳动节专题校园广播稿
2015/12/17 职场文书
《静夜思》教学反思
2016/02/17 职场文书
Python爬取科目四考试题库的方法实现
2021/03/30 Python
JavaScript实现酷炫的鼠标拖尾特效
2022/02/18 Javascript