最新文章專題視頻專題問(wèn)答1問(wèn)答10問(wèn)答100問(wèn)答1000問(wèn)答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問(wèn)答文章1 問(wèn)答文章501 問(wèn)答文章1001 問(wèn)答文章1501 問(wèn)答文章2001 問(wèn)答文章2501 問(wèn)答文章3001 問(wèn)答文章3501 問(wèn)答文章4001 問(wèn)答文章4501 問(wèn)答文章5001 問(wèn)答文章5501 問(wèn)答文章6001 問(wèn)答文章6501 問(wèn)答文章7001 問(wèn)答文章7501 問(wèn)答文章8001 問(wèn)答文章8501 問(wèn)答文章9001 問(wèn)答文章9501
當(dāng)前位置: 首頁(yè) - 科技 - 知識(shí)百科 - 正文

javascript寫的簡(jiǎn)單的計(jì)算器

來(lái)源:懂視網(wǎng) 責(zé)編:小采 時(shí)間:2020-11-27 20:25:49
文檔

javascript寫的簡(jiǎn)單的計(jì)算器

javascript寫的簡(jiǎn)單的計(jì)算器:最近用javascript寫了一個(gè)簡(jiǎn)單的計(jì)算器,自己測(cè)試感覺(jué)還好,先給大家觀賞下界面:界面就是這樣了,但是功能如何呢?現(xiàn)在只是個(gè)簡(jiǎn)單的標(biāo)準(zhǔn)計(jì)算器,能進(jìn)行加減乘除連續(xù)運(yùn)算,以及求余運(yùn)算。如果發(fā)生被除數(shù)為零的錯(cuò)誤,下面會(huì)給出提示,就像這樣:自己不知道寫的
推薦度:
導(dǎo)讀javascript寫的簡(jiǎn)單的計(jì)算器:最近用javascript寫了一個(gè)簡(jiǎn)單的計(jì)算器,自己測(cè)試感覺(jué)還好,先給大家觀賞下界面:界面就是這樣了,但是功能如何呢?現(xiàn)在只是個(gè)簡(jiǎn)單的標(biāo)準(zhǔn)計(jì)算器,能進(jìn)行加減乘除連續(xù)運(yùn)算,以及求余運(yùn)算。如果發(fā)生被除數(shù)為零的錯(cuò)誤,下面會(huì)給出提示,就像這樣:自己不知道寫的
最近用javascript寫了一個(gè)簡(jiǎn)單的計(jì)算器,自己測(cè)試感覺(jué)還好,先給大家觀賞下界面:

javascript寫的簡(jiǎn)單的計(jì)算器

界面就是這樣了,但是功能如何呢?

現(xiàn)在只是個(gè)簡(jiǎn)單的標(biāo)準(zhǔn)計(jì)算器,能進(jìn)行加減乘除連續(xù)運(yùn)算,以及求余運(yùn)算。如果發(fā)生被除數(shù)為零的錯(cuò)誤,下面會(huì)給出提示,就像這樣:

javascript寫的簡(jiǎn)單的計(jì)算器

自己不知道寫的怎么樣,但是對(duì)于新手來(lái)說(shuō),這肯定是一份大餐,里面可以接觸到的東西不少,可以拿來(lái)學(xué)習(xí)。如果有高手看出里面的疏漏、錯(cuò)誤等望不吝賜教,給予指點(diǎn)。

下面貼上代碼,希望里面的注釋足夠多了。
js部分:

var num=0,result=0,numshow="0"; 
var operate=0; //判斷輸入狀態(tài)的標(biāo)志 
var calcul=0; //判斷計(jì)算狀態(tài)的標(biāo)志 
var quit=0; //防止重復(fù)按鍵的標(biāo)志 
function command(num){ 
var str=String(document.calculator.numScreen.value); //獲得當(dāng)前顯示數(shù)據(jù) 
str=(str!="0") ? ((operate==0) ? str : "") : ""; //如果當(dāng)前值不是"0",且狀態(tài)為0,則返回當(dāng)前值,否則返回空值; 
str=str + String(num); //給當(dāng)前值追加字符 
document.calculator.numScreen.value=str; //刷新顯示 
operate=0; //重置輸入狀態(tài) 
quit=0; //重置防止重復(fù)按鍵的標(biāo)志 
} 
function dzero(){ 
var str=String(document.calculator.numScreen.value); 
str=(str!="0") ? ((operate==0) ? str + "00" : "0") : "0"; //如果當(dāng)前值不是"0",且狀態(tài)為0,則返回當(dāng)str+"00",否則返回"0"; 
document.calculator.numScreen.value=str; 
operate=0; 
} 
function dot(){ 
var str=String(document.calculator.numScreen.value); 
str=(str!="0") ? ((operate==0) ? str : "0") : "0"; //如果當(dāng)前值不是"0",且狀態(tài)為0,則返回當(dāng)前值,否則返回"0"; 
for(i=0; i<=str.length;i++){ //判斷是否已經(jīng)有一個(gè)點(diǎn)號(hào) 
if(str.substr(i,1)==".") return false; //如果有則不再插入 
} 
str=str + "."; 
document.calculator.numScreen.value=str; 
operate=0; 
} 
function del(){ //退格 
var str=String(document.calculator.numScreen.value); 
str=(str!="0") ? str : ""; 
str=str.substr(0,str.length-1); 
str=(str!="") ? str : "0"; 
document.calculator.numScreen.value=str; 
} 
function clearscreen(){ //清除數(shù)據(jù) 
num=0; 
result=0; 
numshow="0"; 
document.calculator.numScreen.value="0"; 
} 
function plus(){ //加法 
calculate(); //調(diào)用計(jì)算函數(shù) 
operate=1; //更改輸入狀態(tài) 
calcul=1; //更改計(jì)算狀態(tài)為加 
} 
function minus(){ //減法 
calculate(); 
operate=1; 
calcul=2; 
} 
function times(){ //乘法 
calculate(); 
operate=1; 
calcul=3; 
} 
function divide(){ //除法 
calculate(); 
operate=1; 
calcul=4; 
} 
function persent(){ //求余 
calculate(); 
operate=1; 
calcul=5; 
} 
function equal(){ 
calculate(); //等于 
operate=1; 
num=0; 
result=0; 
numshow="0"; 
} 
// 
function calculate(){ 
numshow=Number(document.calculator.numScreen.value); 
if(num!=0 && quit!=1){ //判斷前一個(gè)運(yùn)算數(shù)是否為零以及防重復(fù)按鍵的狀態(tài) 
switch(calcul){ //判斷要輸入狀態(tài) 
case 1:result=num+numshow;break; //計(jì)算"+" 
case 2:result=num-numshow;break; //計(jì)算"-" 
case 3:result=num*numshow;break; 
case 4:if(numshow!=0){result=num/numshow;}else{document.getElementById("note").innerHTML="被除數(shù)不能為零!"; setTimeout(clearnote,4000)} break; 
case 5:result=num%numshow;break; 
} 
quit=1; //避免重復(fù)按鍵 
} 
else{ 
result=numshow; 
} 
numshow=String(result); 
document.calculator.numScreen.value=numshow; 
num=result; //存儲(chǔ)當(dāng)前值 
} 
function clearnote(){ //清空提示 
document.getElementById("note").innerHTML=""; 
}

html部分:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>寫給新手:js表單操作(四) 簡(jiǎn)單計(jì)算器(二)</title> 
<style type="text/css"> 
body { 
font-size:12px; 
font-family:Arial, Georgia, "Times New Roman", Times, serif; 
color:#555; 
text-align:center; 
background-color:#e2e2e2; 
} 
h6{ 
margin:0; 
font-size:12px; 
} 
#calculator { 
width:240px; 
height:auto; 
overflow:hidden; 
margin:10px auto; 
border:#fff 1px solid; 
padding-bottom:10px; 
background-color:#f2f2f2; 
} 
#calculator div { 
clear:both; 
} 
#calculator ul{ 
padding:0; 
margin:5px 14px; 
border:#fff 1px solid; 
height:auto; 
overflow:hidden 
} 
#calculator li{ 
list-style:none; 
float:left; 
width:32px; 
height:32px; 
margin:5px; 
display:inline; 
line-height:32px; 
font-size:14px; 
background-color:#eaeaea; 
} 
#calculator li.tool{ 
background-color:#e2e2e2; 
} 
#calculator li:hover{ 
background-color:#f9f9f9; 
cursor:pointer; 
} 
#calculator li:active{ 
background-color:#fc0; 
cursor:pointer; 
} 
#calculator li.tool:active{ 
background-color:#d8e8ff; 
cursor:pointer; 
} 
#calcu-head { 
text-align:left; 
padding:10px 15px 5px; 
} 
span.imyeah { 
float:right; 
color:#ccc; 
} 
span.imyeah a{ 
color:#ccc; 
} 
.screen{ 
width:200px; 
height:24px; 
line-height:24px; 
padding:4px; 
border:#e6e6e6 1px solid; 
border-bottom:#f2f2f2 1px solid; 
border-right:#f2f2f2 1px solid; 
margin:10px auto; 
direction:ltr; 
text-align:right; 
font-size:16px; 
color:#999; 
} 
#calcu-foot{ 
text-align:left; 
padding:10px 15px 5px; 
height:auto; 
overflow:hidden; 
} 
span#note{ 
float:left; 
width:210px; 
height:auto; 
overflow:hidden; 
color:red; 
} 
span.welcome{ 
clear:both; 
color:#999; 
} 
span.welcome a{ 
float:right; 
color:#999; 
} 
</style> 
<script language="javascript"> 
//此處插入上面的js代碼 
</script> 
</head> 
<body> 
<div id="calculator"> 
<div id="calcu-head"><span class="imyeah">? <a href="http://www.cnblogs.com/imyeah/" target="_blank">I'm Yeah!</a></span><h6>簡(jiǎn)單的計(jì)算器</h6></div> 
<form name="calculator" action="" method="get"> 
<div id="calcu-screen"> 
<!--配置顯示窗口,使用onfocus="this.blur();"避免鍵盤輸入--> 
<input type="text" name="numScreen" class="screen" value="0" onfocus="this.blur();" /> 
</div> 
<div id="calcu-btn"> 
<ul> <!--配置按鈕--> 
<li onclick="command(7)">7</li> 
<li onclick="command(8)">8</li> 
<li onclick="command(9)">9</li> 
<li class="tool" onclick="del()">←</li> 
<li class="tool" onclick="clearscreen()">C</li> 
<li onclick="command(4)">4</li> 
<li onclick="command(5)">5</li> 
<li onclick="command(6)">6</li> 
<li class="tool" onclick="times()">×</li> 
<li class="tool" onclick="divide()">÷</li> 
<li onclick="command(1)">1</li> 
<li onclick="command(2)">2</li> 
<li onclick="command(3)">3</li> 
<li class="tool" onclick="plus()">+</li> 
<li class="tool" onclick="minus()">-</li> 
<li onclick="command(0)">0</li> 
<li onclick="dzero()">00</li> 
<li onclick="dot()">.</li> 
<li class="tool" onclick="persent()">%</li> 
<li class="tool" onclick="equal()">=</li> 
</ul> 
</div> 
<div id="calcu-foot"> 
<span id="note"></span> 
<span class="welcome">歡迎使用javascript計(jì)算器!<a href="http://www.cnblogs.com/imyeah" target="_blank">反饋</a></span> 
</div> 
</form> 
</div> 
</body> 
</html>

更多javascript寫的簡(jiǎn)單的計(jì)算器相關(guān)文章請(qǐng)關(guān)注PHP中文網(wǎng)!

聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

javascript寫的簡(jiǎn)單的計(jì)算器

javascript寫的簡(jiǎn)單的計(jì)算器:最近用javascript寫了一個(gè)簡(jiǎn)單的計(jì)算器,自己測(cè)試感覺(jué)還好,先給大家觀賞下界面:界面就是這樣了,但是功能如何呢?現(xiàn)在只是個(gè)簡(jiǎn)單的標(biāo)準(zhǔn)計(jì)算器,能進(jìn)行加減乘除連續(xù)運(yùn)算,以及求余運(yùn)算。如果發(fā)生被除數(shù)為零的錯(cuò)誤,下面會(huì)給出提示,就像這樣:自己不知道寫的
推薦度:
標(biāo)簽: 計(jì)算器 js 計(jì)算
  • 熱門焦點(diǎn)

最新推薦

猜你喜歡

熱門推薦

專題
Top