JavaScript經(jīng)典案例之簡易計算器
本文實例為大家分享了JavaScript實現(xiàn)簡易計算器的具體代碼,供大家參考,具體內(nèi)容如下
效果圖:
邏輯:
1、首先通過遍歷,為所有元素添加事件; 2、各個按鈕功能分別實現(xiàn)
<!DOCTYPE html><html lang='en'><head> <meta charset='UTF-8'> <meta name='viewport' content='width=device-width, initial-scale=1.0'> <title>Document</title></head><style> .one { width: 50px; height: 50px; background: #f60; display: inline-block; line-height: 50px; color: #fff; margin: 5px 5px 5px 0; font-size: 23px; text-align: center; cursor: pointer; } .two { width: 112px; height: 50px; background: #f60; color: #fff; font-size: 23px; display: inline-block; margin-top: 5px; text-align: center; line-height: 50px; cursor: pointer; } .tools { background: blue; cursor: pointer; } .cal { height: 100px; position: relative; background: #999; width: 228px; color: #fff; font-size: 23px; cursor: pointer; } .cal_content { position: absolute; bottom: 10px; right: 10px; word-break: normal; cursor: pointer; }</style><body> <div> <div class='cal'> <span id='cal_content'>0</span> </div> <div> <span class='one tools calbtn'>*</span> <span class='one tools calbtn'>/</span> <span id='del'>CE</span> <span id='resset'>AC</span> </div> <div> <span class='one calbtn'>7</span> <span class='one calbtn'>8</span> <span class='one calbtn'>9</span> <span class='one tools calbtn'>+</span> </div> <div> <span class='one calbtn'> 4</span> <span class='one calbtn'>5</span> <span class='one calbtn'>6</span> <span class='one tools calbtn'>-</span> <!-- <span clas>-</span> --> </div> <div> <span class='one calbtn'>1</span> <span class='one calbtn'>2</span> <span class='one calbtn'>3</span> <span class='one tools calbtn'>.</span> </div> <div> <span class='two calbtn'>0</span> <span id='fin'>=</span> </div> </div></body><script> // 獲取標(biāo)簽 var cal_content = document.getElementById(’cal_content’); var btn = document.getElementsByClassName(’calbtn’); var caltext = ’’; // // 遍歷,添加事件 for (var i = 0; i < btn.length; i++) { btn[i].addEventListener(’click’, function () { // this指代 當(dāng)前對象 caltext += this.innerHTML; cal_content.innerHTML = caltext }) } // 清空 var resset = document.getElementById(’resset’); resset.addEventListener(’click’, function () { cal_content.innerHTML = ’0’; caltext = ’’; // }) // 刪除鍵 var del = document.getElementById(’del’); del.addEventListener(’click’, function () { caltext = caltext.substring(0, caltext.length - 1); cal_content.innerHTML = caltext if (cal_content.innerHTML.length == 0) { cal_content.innerHTML = ’0’; } }) //等號鍵 var fin = document.getElementById(’fin’); fin.addEventListener(’click’, function () { // console.log(caltext) cal_content.innerHTML = eval(caltext); caltext = eval(caltext); // console.log(caltext) }) // 鍵盤事件 document.onkeyup = function (event) { var event = event || window.event; console.log(event.key) // 判斷F5和CTRl鍵 if(event.keyCode==116 || event.keyCode == 17){ return; } // 判斷是否是 回車鍵 if (event.keyCode == 13) { cal_content.innerHTML = eval(caltext); caltext = eval(caltext); return; } caltext += event.key cal_content.innerHTML = caltext; }</script></html>
總計:
1、通過對象點擊將元素的值鏈接在一起,最后通過**eval()函數(shù)**進行計算,將最終結(jié)果反饋到顯示區(qū)域2、設(shè)置一個全局表變量 *var caltext = ‘’; * 存放計算字符串3、ondoucument.onkeyup = function(){ //代碼 } 鍵盤事件
更多計算器功能實現(xiàn),請點擊專題: 計算器功能匯總 進行學(xué)習(xí)
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. 使用Python和百度語音識別生成視頻字幕的實現(xiàn)2. Gitlab CI-CD自動化部署SpringBoot項目的方法步驟3. ASP中解決“對象關(guān)閉時,不允許操作。”的詭異問題……4. IDEA版最新MyBatis程序配置教程詳解5. python pymysql鏈接數(shù)據(jù)庫查詢結(jié)果轉(zhuǎn)為Dataframe實例6. ASP刪除img標(biāo)簽的style屬性只保留src的正則函數(shù)7. idea設(shè)置自動導(dǎo)入依賴的方法步驟8. 淺談SpringMVC jsp前臺獲取參數(shù)的方式 EL表達(dá)式9. 教你如何寫出可維護的JS代碼10. 詳解Java內(nèi)部類——匿名內(nèi)部類
