jQuery实现可以计算进制转换的计算器


Posted in jQuery onOctober 19, 2020

本文实例为大家分享了jQuery实现可以计算进制转换的计算器,供大家参考,具体内容如下

在案例8的基础上增加了进制转换功能

动画效果:

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{
  position: relative;
  margin: 50px auto;
  padding: 5px;
  width: 230px;
  height: 316px;
  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;
 }
 #del{
  float:right;
  width: 70px;
  height: 30px;
 }
 #del input{
  margin-top: 4px ;
  width: 70px;
  height: 31px;
 }
 #operator{
  margin-top: 5px ;
  float:right;
  width: 70px;
  height: 180px;
 }
 #operator input{
  width: 70px;
  height: 31px;
  margin-top: 4px ;
 }
 #converter{
  float:right;
  margin-top: 5px;
  width: 70px;
 
 
 }
 #converter .show{
  position: absolute;
  bottom: 5px;
  width: 70px;
  height: 30px;
  font-size: 10px;
 }
 #converter div{
  display: none;
  position: absolute;
  left: 150px;
  top: 100px;
 }
 #converter div input{
  width: 85px;
  height: 25px;
  margin-top: 5px;
 }
 </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="Cle">
  <input type="button" value="0">
  <input type="button" value=".">
  <input type="button" value="A">
  <input type="button" value="B">
  <input type="button" value="C">
  <input type="button" value="D">
  <input type="button" value="E">
  <input type="button" value="F">
 </div>
 <div id="del">
  <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 id="converter">
  <div>
  <input type="button" value="十转十六进制" name="1">
  <input type="button" value="十转八进制" name="2">
  <input type="button" value="十转二进制" name="3">
  <input type="button" value="十六转十进制" name="4">
  <input type="button" value="八转十进制" name="5">
  <input type="button" value="二转十进制" name="6">
  </div>
  <input class="show" 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 "Cle":
   $("#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());
   }
  }
  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
 });
 //按下“←”回删数字
 $("#del").click(function () {
  var str=$("#txt2").text();
  if (i==0) {
  $("#txt2").text(str.slice(0, str.length - 1));
  }
 });
 //按下“进制转换”,出现几种进制转换按钮
 $("#converter .show").click(function () {
  $("#converter div").toggle();
  $("#operator").toggle();
 });
 //进行进制转换
 $("#converter div input").click(function () {
  var index=this.name;
  var n=$("#txt2").text();
  switch (index){
  case "1":
   n=parseInt(n,10);
   $("#txt2").text(n.toString(16));
   break;
  case "2":
   n=parseInt(n,10);
   $("#txt2").text(n.toString(8));
   break;
  case "3":
   n=parseInt(n,10);
   $("#txt2").text(n.toString(2));
   break;
  case "4":
   n=parseInt(n,16);
   $("#txt2").text(n.toString(10));
   break;
  case "5":
   n=parseInt(n,8);
   $("#txt2").text(n.toString(10));
   break;
  case "6":
   n=parseInt(n,2);
   $("#txt2").text(n.toString(10));
   break;
 
  }
  i=1;//将清空标志设为1
 });
 });
</script>
</body>
</html>

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

jQuery 相关文章推荐
jQuery实现鼠标经过显示动画边框特效
Mar 24 jQuery
jQuery实现简单的抽奖游戏
May 05 jQuery
jquery+ajax实现省市区三级联动 (封装和不封装两种方式)
May 15 jQuery
jquery animate动画持续运动的实例
Nov 29 jQuery
jquery学习笔记之无new构建详解
Dec 07 jQuery
jquery实现点击a链接,跳转之后,该a链接处显示背景色的方法
Jan 18 jQuery
jQuery解析json格式数据示例
Sep 01 jQuery
jQuery 点击获取验证码按钮及倒计时功能
Sep 20 jQuery
jquery 验证用户名是否重复代码实例
May 14 jQuery
jquery validate 实现动态增加/删除验证规则操作示例
Oct 28 jQuery
基于JQuery实现页面定时弹出广告
May 08 jQuery
jQuery+css实现的点击图片放大缩小预览功能示例【图片预览 查看大图】
May 29 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
You might like
浅谈PHP解析URL函数parse_url和parse_str
2014/11/11 PHP
php使用json_decode后数字对象转换成了科学计数法的解决方法
2017/02/20 PHP
PHP操作Redis数据库常用方法示例
2018/08/25 PHP
php实现映射操作实例详解
2019/10/02 PHP
thinkphp5 框架结合plupload实现图片批量上传功能示例
2020/04/04 PHP
mouse_on_title.js
2006/08/25 Javascript
JavaScript中的new的使用方法与注意事项
2007/05/16 Javascript
jquery实现简单的自动播放幻灯片效果
2015/06/13 Javascript
理解AngularJs指令
2015/12/10 Javascript
jQuery设置Cookie及删除Cookie实例分析
2016/04/15 Javascript
Javascript实现一个简单的输入关键字添加标签效果实例
2017/06/01 Javascript
Angularjs为ng-click事件传递参数
2017/06/15 Javascript
vue router 组件的高级应用实例代码
2019/04/08 Javascript
详解微信小程序开发用户授权登陆
2019/04/24 Javascript
详解如何在vue项目中使用layui框架及采坑
2019/05/05 Javascript
JavaScript如何实现元素全排列实例代码
2019/05/14 Javascript
JS实现提示框跟随鼠标移动
2019/08/27 Javascript
使用vuex存储用户信息到localStorage的实例
2019/11/11 Javascript
Vue如何基于vue-i18n实现多国语言兼容
2020/07/17 Javascript
Python中的__new__与__init__魔术方法理解笔记
2014/11/08 Python
Python常用模块介绍
2014/11/21 Python
详解使用Python处理文件目录的相关方法
2015/10/16 Python
Python开发虚拟环境使用virtualenvwrapper的搭建步骤教程图解
2018/09/19 Python
pandas DataFrame行或列的删除方法的实现示例
2019/08/02 Python
Python : turtle色彩控制实例详解
2020/01/19 Python
最好的意大利皮夹克:D’Arienzo
2018/12/04 全球购物
营业员个人总结的自我评价
2013/10/25 职场文书
应届大学毕业生找工作的求职信范文
2013/11/29 职场文书
护理专科毕业生自荐书范文
2014/02/19 职场文书
《一株紫丁香》教学反思
2014/02/19 职场文书
旅游与酒店管理专业求职信
2014/07/21 职场文书
施工现场安全管理制度
2015/08/05 职场文书
python函数指定默认值的实例讲解
2021/03/29 Python
详解Javascript实践中的命令模式
2021/05/05 Javascript
浅谈Python numpy创建空数组的问题
2021/05/25 Python
Python机器学习之决策树和随机森林
2021/07/15 Javascript