国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術(shù)文章
文章詳情頁

javascript實現(xiàn)計算器功能

瀏覽:2日期:2023-06-22 16:49:29

本文實例為大家分享了javascript實現(xiàn)計算器功能的具體代碼,供大家參考,具體內(nèi)容如下

javascript實現(xiàn)計算器功能

問題描述:

1、除法操作時,如果被除數(shù)為0,則結(jié)果為02、結(jié)果如果為小數(shù),最多保留小數(shù)點后兩位,如2 / 3 =0.67(顯示0.67),1 / 2 = 0.5(顯示0.5)

<!DOCTYPE html><html> <head> <meta charset='utf-8'> <title>百度筆試0329</title> <style type='text/css'> body, ul, li,select { margin: 0; padding: 0; box-sizing: border-box; } ul,li {list-style: none;} .calculator { max-width: 300px; margin: 20px auto; border: 1px solid #eee; border-radius: 3px; } .cal-header { font-size: 16px; color: #333; font-weight: bold; height: 48px; line-height: 48px; border-bottom: 1px solid #eee; text-align: center; } .cal-main { font-size: 14px; } .cal-main .origin-value { padding: 15px; height: 40px; line-height: 40px; font-size: 20px; text-align: right; overflow: hidden; text-overflow:ellipsis; white-space: nowrap; } .cal-main .origin-type, .cal-main .target-type { padding-left: 5px; width: 70px; font-size: 14px; height: 30px; border: 1px solid #eee; background-color: #fff; vertical-align: middle; margin-right: 10px; border-radius: 3px; } .cal-keyboard { overflow: hidden; } .cal-items { overflow: hidden; } .cal-items li { user-select: none; float: left; display: inline-block; width: 75px; height: 75px; text-align: center; line-height: 75px; border-top: 1px solid #eee; border-left: 1px solid #eee; box-sizing: border-box; } li:nth-of-type(4n+1) { border-left: none; } li[data-action=operator] { background: #f5923e; color: #fff; } .buttons { float: left; width: 75px; } .buttons .btn { width: 75px; background-color: #fff; border-top: 1px solid #eee; border-left: 1px solid #eee; height: 150px; line-height: 150px; text-align: center; } .btn-esc { color: #ff5a34; } .btn-backspace { position: relative; } </style> </head> <body> <div class='calculator'> <header class='cal-header'>簡易計算器</header> <main class='cal-main'> <div class='origin-value'>0</div> <div class='cal-keyboard'> <ul class='cal-items'> <li data-action='num'>7</li> <li data-action='num'>8</li> <li data-action='num'>9</li> <li data-action='operator'>÷</li> <li data-action='num'>4</li> <li data-action='num'>5</li> <li data-action='num'>6</li> <li data-action='operator'>x</li> <li data-action='num'>1</li> <li data-action='num'>2</li> <li data-action='num'>3</li> <li data-action='operator'>-</li> <li data-action='num'>0</li> <li data-action='operator'>清空</li> <li data-action='operator'>=</li> <li data-action='operator'>+</li> </ul> </div> </main> </div> <script type='text/javascript'> var Calculator = { init: function () { var that = this; if (!that.isInited) { that.isInited = true; // 保存操作信息 // total: Number, 總的結(jié)果 // next: String, 下一個和 total 進行運算的數(shù)據(jù) // action: String, 操作符號 that.data = {total: 0, next: ’’, action: ’’}; that.bindEvent(); } }, bindEvent: function () { var that = this; // 請補充代碼:獲取 .cal-keyboard 元素 var keyboardEl = document.getElementsByClassName(’cal-keyboard’)[0] keyboardEl && keyboardEl.addEventListener(’click’, function (event) { // 請補充代碼:獲取當前點擊的dom元素 var target = event.target; // 請補充代碼:獲取target的 data-action 值 var action = target.getAttribute(’data-action’); // 請補充代碼:獲取target的內(nèi)容 var value = target.innerHTML; if (action === ’num’ || action === ’operator’) { that.result(value, action === ’num’); } }); }, result: function (action, isNum) { var that = this; var data = that.data; if (isNum) { data.next = data.next === ’0’ ? action : (data.next + action); !data.action && (data.total = 0); } else if (action === ’清空’) { // 請補充代碼:設(shè)置清空時的對應狀態(tài) data.total = 0; data.next = ’’; data.action = ’’; } else if (action === ’=’) { if (data.next || data.action) { data.total = that.calculate(data.total, data.next, data.action); data.next = ’’; data.action = ’’; } } else if (!data.next) { data.action = action; } else if (data.action) { data.total = that.calculate(data.total, data.next, data.action); data.next = ’’; data.action = action; } else { data.total = +data.next || 0; data.next = ’’; data.action = action; } // ���補充代碼:獲取 .origin-value 元素 var valEl = document.getElementsByClassName(’origin-value’)[0]; valEl && (valEl.innerHTML = data.next || data.total || ’0’); }, calculate: function (n1, n2, operator) { n1 = +n1 || 0; n2 = +n2 || 0; if (operator === ’÷’) { // 請補充代碼:獲取除法的結(jié)果 if(n2 == 0 || n1 == 0) return 0 return Math.round((n1/n2)*100)/100; } else if (operator === ’x’) { // 請補充代碼:獲取乘法的結(jié)果 return n1 * n2; } else if (operator === ’+’) { // 請補充代碼:獲取加法的結(jié)果 return n1 + n2; } else if (operator === ’-’) { // 請補充代碼:獲取減法的結(jié)果 return n1 - n2; } } }; Calculator.init(); </script> </body></html>

更多計算器功能實現(xiàn),請點擊專題: 計算器功能匯總 進行學習

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網(wǎng)。

標簽: JavaScript
相關(guān)文章:
主站蜘蛛池模板: 日韩专区欧美 | 最新亚洲一区二区三区四区 | 亚洲男人的性天堂 | 成人自拍视频 | 特色黄色片 | 伊人365影院 | 免费福利入口在线观看 | 成人三级做爰在线视频 | 韩日三级视频 | 久久爱青青草 | 精品国产欧美另类一区 | 国产欧美精品一区二区三区四区 | 欧美视频自拍偷拍 | 国产精品秦先生手机在线 | 国产a一级毛片含羞草传媒 国产a自拍 | 新体操真| 美女被cao免费看在线看网站 | 亚洲国产精品久久久久666 | 久久精品国产免费观看99 | 天天看片日本 | 一级v片| 久久综合99re88久久爱 | 久久福利资源国产精品999 | 日本作爱| 国产图片亚洲精品一区 | 欧美一级www片免费观看 | 欧美高清日韩 | 亚洲国产观看 | 欧美a大片欧美片 | 巨大热杵在腿间进进出出视频 | 欧美国产合集在线视频 | 日韩一区二区不卡中文字幕 | 日韩欧美一区二区三区在线观看 | 欧洲欧美成人免费大片 | 农村三级孕妇视频在线 | 久久国产成人精品国产成人亚洲 | 国产成年人在线观看 | 国产成人精品日本亚洲网址 | 亚洲好视频| 久久久999国产精品 久久久99精品免费观看 | 亚洲三区视频 |