下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第原生JS實(shí)現(xiàn)簡(jiǎn)單計(jì)算器功能本文實(shí)例為大家分享了JS實(shí)現(xiàn)簡(jiǎn)單計(jì)算器功能的具體代碼,供大家參考,具體內(nèi)容如下
使用html和css寫出計(jì)算器的基本結(jié)構(gòu)和樣式,用原生JS實(shí)現(xiàn)計(jì)算器的加減乘除運(yùn)算功能,只能計(jì)算簡(jiǎn)單的兩位數(shù)的運(yùn)算,不支持三個(gè)數(shù)連加或者連乘等等。一次計(jì)算完成之后再進(jìn)行下一次運(yùn)算不需要clear,可以直接進(jìn)行下次運(yùn)算。具體實(shí)現(xiàn)如下:
html結(jié)構(gòu):
divid="box"
!--文本框要禁止用戶輸入,只能通過代碼中的input.value來修改--
inputid="display"type="text"value="0"disabled
div1/div
div2/div
div3/div
div+/div
div4/div
div5/div
div6/div
div-/div
div7/div
div8/div
div9/div
div*/div
divC/div
div0/div
div=/div
div//div
/div
css樣式:
#box{
width:500px;
height:600px;
border:1pxsolid#000000;
}
#display{
width:460px;
height:60px;
margin:15px;
text-align:right;
font-size:60px;
line-height:60px;
overflow:hidden;
/*overflow:hidden;
溢出隱藏*/
/*text-overflow:ellipsis;
文本溢出時(shí)顯示省略號(hào)
*/
/*word-wrap:none;
強(qiáng)制不換行*/
background:#ffffff;
}
.btn{
width:100px;
height:100px;
border:1pxsolid#000000;
float:left;
margin:10px11px;
font-size:40px;
line-height:100px;
text-align:center;
user-select:none;
}
JS代碼:
firstValue這個(gè)全局變量存儲(chǔ)第一次輸入的數(shù),input的input.value屬性也是一個(gè)變量,這個(gè)值既作為頁(yè)面上顯示的內(nèi)容,也是輸入的數(shù)值。讓這兩個(gè)值進(jìn)行運(yùn)算,結(jié)果再顯示到輸入框中即可。bool變量作用:當(dāng)一次運(yùn)算完成之后所有數(shù)值清零。
如果要實(shí)現(xiàn)用上一次的結(jié)果繼續(xù)參與運(yùn)算這個(gè)功能,可以再設(shè)置一個(gè)全局變量result來存儲(chǔ)每次運(yùn)算后的結(jié)果,當(dāng)下次輸入運(yùn)算符號(hào)時(shí),判斷firstValue和result,再?zèng)Q定用哪個(gè)值計(jì)算。當(dāng)點(diǎn)擊C按鈕時(shí),所有值清空,返回初始狀態(tài)。
varinput=document.getElementById("display");
varbtnCollection=document.getElementsByClassName("btn");
vartype;
varfirstValue=0;
varbool=false;
for(vari=0;ibtnCollection.length;i++){
//獲取到每個(gè)按鍵并添加點(diǎn)擊事件。點(diǎn)擊后會(huì)觸發(fā)function中代碼執(zhí)行。
btnCollection[i].onclick=function(){
if(bool){
input.value="0";
firstValue=0;
type=undefined;
bool=false;
}
//input.value=this.innerHTML;
//顯示點(diǎn)擊的數(shù)字在文本框內(nèi)
if(!isNaN(Number(this.innerHTML))){
input.value=Number(input.value+this.innerHTML).toString();
}elseif(this.innerHTML!=="C"this.innerHTML!=="="){
firstValue=Number(input.value);
type=this.innerHTML;
input.value=0;
}elseif(this.innerHTML==="C"){
firstValue=0;
type=undefined;
input.value="0";
}else{
switch(type){
case"+":
input.value=(Number(input.value)+firstValue).toString();
break;
case"-":
input.value=(firstValue-Number(input.value)).toString();
break;
case"*":
input.value=(Number(input.value)*firstValue).toString();
break;
case"/":
input.value=(firstValue/Number(input.value)).to
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 地下停車場(chǎng)安全導(dǎo)向系統(tǒng)設(shè)計(jì)標(biāo)準(zhǔn)
- 行政部門年度工作目標(biāo)與任務(wù)分解
- 中考數(shù)學(xué)幾何題解題技巧總結(jié)
- 中小學(xué)語(yǔ)文課后輔導(dǎo)方案設(shè)計(jì)
- 小學(xué)楷體字帖練習(xí)指導(dǎo)方案
- 公司員工健身活動(dòng)組織實(shí)施方案范例
- 家具行業(yè)廢水治理環(huán)保實(shí)施方案
- 機(jī)械現(xiàn)場(chǎng)技術(shù)服務(wù)方案設(shè)計(jì)實(shí)例
- 高校個(gè)人簡(jiǎn)歷設(shè)計(jì)與面試技巧培訓(xùn)
- 中小學(xué)光纜線路維護(hù)全方案
- TOC基本課程講義學(xué)員版-王仕斌
- T-GDWCA 0035-2018 HDMI 連接線標(biāo)準(zhǔn)規(guī)范
- 面板堆石壩面板滑模結(jié)構(gòu)設(shè)計(jì)
- 初中語(yǔ)文新課程標(biāo)準(zhǔn)與解讀課件
- 無人機(jī)裝調(diào)檢修工培訓(xùn)計(jì)劃及大綱
- 中建通風(fēng)與空調(diào)施工方案
- 高考語(yǔ)言運(yùn)用題型之長(zhǎng)短句變換 學(xué)案(含答案)
- 春よ、來い(春天來了)高木綾子演奏長(zhǎng)笛曲譜鋼琴伴奏
- ARJ21機(jī)型理論知識(shí)考試題庫(kù)(匯總版)
- 2023年婁底市建設(shè)系統(tǒng)事業(yè)單位招聘考試筆試模擬試題及答案解析
- GB/T 4623-2014環(huán)形混凝土電桿
評(píng)論
0/150
提交評(píng)論