您好,登錄后才能下訂單哦!
本篇內容主要講解“原生JS怎么實現簡單計算器功能”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“原生JS怎么實現簡單計算器功能”吧!
使用html和css寫出計算器的基本結構和樣式,用原生JS實現計算器的加減乘除運算功能,只能計算簡單的兩位數的運算,不支持三個數連加或者連乘等等。一次計算完成之后再進行下一次運算不需要clear,可以直接進行下次運算。具體實現如下:
html結構:
<div id="box"> <!-- 文本框要禁止用戶輸入,只能通過代碼中的input.value來修改 --> <input id="display" type="text" value="0" disabled> <div class="btn">1</div> <div class="btn">2</div> <div class="btn">3</div> <div class="btn">+</div> <div class="btn">4</div> <div class="btn">5</div> <div class="btn">6</div> <div class="btn">-</div> <div class="btn">7</div> <div class="btn">8</div> <div class="btn">9</div> <div class="btn">*</div> <div class="btn">C</div> <div class="btn">0</div> <div class="btn">=</div> <div class="btn">/</div> </div>
css樣式:
#box { width: 500px; height: 600px; border: 1px solid #000000; } #display { width: 460px; height: 60px; margin: 15px; text-align: right; font-size: 60px; line-height: 60px; overflow: hidden; /* overflow: hidden; 溢出隱藏 */ /* text-overflow: ellipsis; 文本溢出時顯示省略號 */ /* word-wrap: none; 強制不換行 */ background: #ffffff; } .btn { width: 100px; height: 100px; border: 1px solid #000000; float: left; margin: 10px 11px; font-size: 40px; line-height: 100px; text-align: center; user-select: none; }
JS代碼:
firstValue這個全局變量存儲第一次輸入的數,input的input.value屬性也是一個變量,這個值既作為頁面上顯示的內容,也是輸入的數值。讓這兩個值進行運算,結果再顯示到輸入框中即可。bool變量作用:當一次運算完成之后所有數值清零。
如果要實現用上一次的結果繼續參與運算這個功能,可以再設置一個全局變量result來存儲每次運算后的結果,當下次輸入運算符號時,判斷firstValue和result,再決定用哪個值計算。當點擊C按鈕時,所有值清空,返回初始狀態。
var input = document.getElementById("display"); var btnCollection = document.getElementsByClassName("btn"); var type; var firstValue = 0; var bool = false; for (var i = 0; i < btnCollection.length; i++) { // 獲取到每個按鍵并添加點擊事件。點擊后會觸發function中代碼執行。 btnCollection[i].onclick = function () { if(bool){ input.value = "0"; firstValue = 0; type = undefined; bool = false; } // input.value = this.innerHTML; //顯示點擊的數字在文本框內 if (!isNaN(Number(this.innerHTML))) { input.value = Number(input.value + this.innerHTML).toString(); } else if (this.innerHTML !== "C" && this.innerHTML !== "=") { firstValue = Number(input.value); type = this.innerHTML; input.value = 0; } else if (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)).toString(); break; } bool = true; } } }
到此,相信大家對“原生JS怎么實現簡單計算器功能”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。