jQuery實(shí)現(xiàn)可以計(jì)算進(jìn)制轉(zhuǎn)換的計(jì)算器
本文實(shí)例為大家分享了jQuery實(shí)現(xiàn)可以計(jì)算進(jìn)制轉(zhuǎn)換的計(jì)算器,供大家參考,具體內(nèi)容如下
在案例8的基礎(chǔ)上增加了進(jìn)制轉(zhuǎn)換功能
動畫效果:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>計(jì)算器</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="十轉(zhuǎn)十六進(jìn)制" name="1">
<input type="button" value="十轉(zhuǎn)八進(jìn)制" name="2">
<input type="button" value="十轉(zhuǎn)二進(jìn)制" name="3">
<input type="button" value="十六轉(zhuǎn)十進(jìn)制" name="4">
<input type="button" value="八轉(zhuǎn)十進(jìn)制" name="5">
<input type="button" value="二轉(zhuǎn)十進(jìn)制" name="6">
</div>
<input class="show" type="button" value="進(jìn)制轉(zhuǎn)換">
</div>
</div>
</div>
<script>
$(function(){
var i=0;//i為清空標(biāo)志,i=1時(shí)需要清空#txt2的數(shù)據(jù)
//獲取輸入的數(shù)字
$("#num input").click(function () {
//先判斷#txt2中是否保存著上次計(jì)算的結(jié)果,如果是則將其清空
if (i===1){
$("#txt2").text("");
}
//保證數(shù)字以正確的格式顯示
//使用switch語句實(shí)現(xiàn)
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;//將清空標(biāo)志設(shè)為0
});
//獲取運(yùn)算符
$("#operator input:not(:last)").click(function () {
$("#txt1").text($("#txt2").text()+$(this).val());
$("#txt2").text("");
});
//按下“=”鍵進(jìn)行計(jì)算
$("#operator input").last().click(function () {
//使用eval()函數(shù)
//$("#txt2").text(eval($("#txt1").text()+$("#txt2").text()));
//使用常規(guī)方法
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;//將清空標(biāo)志設(shè)為1
});
//按下“←”回刪數(shù)字
$("#del").click(function () {
var str=$("#txt2").text();
if (i==0) {
$("#txt2").text(str.slice(0, str.length - 1));
}
});
//按下“進(jìn)制轉(zhuǎn)換”,出現(xiàn)幾種進(jìn)制轉(zhuǎn)換按鈕
$("#converter .show").click(function () {
$("#converter div").toggle();
$("#operator").toggle();
});
//進(jìn)行進(jìn)制轉(zhuǎn)換
$("#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;//將清空標(biāo)志設(shè)為1
});
});
</script>
</body>
</html>
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- jQuery實(shí)現(xiàn)簡易計(jì)算器功能
- jQuery實(shí)現(xiàn)簡單計(jì)算器
- jquery實(shí)現(xiàn)計(jì)算器小功能
- jQuery實(shí)現(xiàn)簡單計(jì)算器功能
- jQuery實(shí)現(xiàn)計(jì)算器功能
- jQuery實(shí)現(xiàn)的簡單在線計(jì)算器功能
- 基于HTML+CSS,jQuery編寫的簡易計(jì)算器后續(xù)(添加了鍵盤監(jiān)聽)
- 一個(gè)簡單的jQuery計(jì)算器實(shí)現(xiàn)了連續(xù)計(jì)算功能
- jQuery實(shí)現(xiàn)簡易的計(jì)算器
相關(guān)文章
JQuery表格拖動調(diào)整列寬效果(自己動手寫的)
當(dāng)鼠標(biāo)停留在表頭邊框線上時(shí),鼠標(biāo)會變成表示左右拖動的形狀,接著拖動鼠標(biāo),會在表格中出現(xiàn)一條隨鼠標(biāo)移動的豎線,最后放開鼠標(biāo),表格列寬會被調(diào)整2014-09-09
jquery checkbox實(shí)現(xiàn)單選小例
checkbox是復(fù)選框如何將其變?yōu)閱芜x呢?下面有個(gè)不錯(cuò)的示例,感興趣的朋友可以參考下2013-11-11
基于jQuery的計(jì)算文本框字?jǐn)?shù)的代碼
用戶邊輸入計(jì)算同時(shí)進(jìn)行,告訴用戶還剩余多少可輸入的字?jǐn)?shù),當(dāng)超過規(guī)定的字?jǐn)?shù)后,點(diǎn)擊確定,會讓輸入框閃動2012-06-06
JQuery魔力之$("tagName")與selector
DOM 中的 getElementsByTagName()方法在JQuery中的表現(xiàn)就是$(“tagName”)這么簡單!tag標(biāo)簽(可以是:p、div、button …)標(biāo)簽本身具有ID、Class等屬性2012-03-03
jquery 日期控件datepicker屬性詳細(xì)解析
本文是對jquery中日期控件datepicker的屬性進(jìn)行了詳細(xì)的介紹,需要的朋友可以過來參考下,希望對大家有所幫助2013-11-11
jquery 讀取頁面load get post ajax 四種方式代碼寫法
jquery 讀取頁面load get post ajax 四種方式代碼寫法,學(xué)習(xí)jquery的朋友可以參考下。2011-04-04
jquery實(shí)現(xiàn)在頁面加載的時(shí)自動為日期插件添加當(dāng)前日期
這篇文章主要介紹了通過jquery實(shí)現(xiàn)在頁面加載的時(shí)自動為日期插件添加當(dāng)前日期,需要的朋友可以參考下2014-08-08
Jquery中"$(document).ready(function(){ })"函數(shù)的使用詳解
本篇文章主要是對Jquery中"$(document).ready(function(){ })"函數(shù)的使用進(jìn)行了詳細(xì)的介紹,需要的朋友可以過來參考下,希望對大家有所幫助2013-12-12
jQuery實(shí)現(xiàn)圖像旋轉(zhuǎn)動畫效果
jquery動畫旋轉(zhuǎn)效果在項(xiàng)目中經(jīng)常遇到這樣的需求,下面小編給大家分享具體實(shí)現(xiàn)代碼,感興趣的朋友一起學(xué)習(xí)吧2016-05-05

