91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

原生JS怎么實現簡單計算器功能

發布時間:2022-04-02 11:03:36 來源:億速云 閱讀:162 作者:iii 欄目:開發技術

本篇內容主要講解“原生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怎么實現簡單計算器功能”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

js
AI

双辽市| 辛集市| 资中县| 古蔺县| 苍溪县| 南部县| 襄樊市| 华安县| 镇江市| 游戏| 林周县| 丹江口市| 无棣县| 慈溪市| 兰州市| 六枝特区| 日照市| 东丰县| 马关县| 象山县| 广州市| 承德市| 江陵县| 龙山县| 康乐县| 昌吉市| 高平市| 永清县| 克拉玛依市| 盘山县| 灯塔市| 正蓝旗| 沙湾县| 资阳市| 秭归县| 龙江县| 沽源县| 香格里拉县| 城固县| 鄢陵县| 容城县|