最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用JavaScript和HTML實(shí)現(xiàn)一個精美的計(jì)算器

 更新時(shí)間:2023年09月20日 09:26:35   作者:黑夜開發(fā)者  
計(jì)算器是我們?nèi)粘I钪薪?jīng)常使用的工具之一,可以幫助我們進(jìn)行簡單的數(shù)學(xué)運(yùn)算,在本博文中,我將使用JavaScript編寫一個漂亮的計(jì)算器,并添加加減乘除功能,感興趣的同學(xué)可以自己動手嘗試一下

一、前言

計(jì)算器是我們?nèi)粘I钪薪?jīng)常使用的工具之一,可以幫助我們進(jìn)行簡單的數(shù)學(xué)運(yùn)算。在本博文中,我將使用JavaScript編寫一個漂亮的計(jì)算器,并添加加減乘除功能。這個計(jì)算器將有一個精美的用戶界面,包含9個數(shù)字按鈕和加減乘除操作符。

二、技術(shù)棧

  • HTML:負(fù)責(zé)構(gòu)建界面
  • CSS:負(fù)責(zé)美化界面
  • JavaScript:負(fù)責(zé)實(shí)現(xiàn)計(jì)算器的邏輯

三、功能實(shí)現(xiàn)

3.1 引入樣式

在開始編寫代碼之前,我們需要準(zhǔn)備一些資源,包括一些圖標(biāo)和字體庫。我們可以在網(wǎng)上找到一些開源的資源來使用。在這里,我使用了FontAwesome圖標(biāo)庫和Google Fonts字體庫。

首先,在HTML文件中引入FontAwesome圖標(biāo)庫和Google Fonts字體庫的鏈接:

<head>
    <link rel="stylesheet"  rel="external nofollow"  integrity="sha512-mvHonSS8g/k1XO4z16sWsZUfrVjPDWcTYTLnm79aJMdN5rSTQhq2ShsVlCHJfFMZML3eCG6v8kHouUqimtCM/A==" crossorigin="anonymous" referrerpolicy="no-referrer" />
    <link rel="stylesheet"  rel="external nofollow"  />
</head>

3.2 編寫顯示頁面

然后,創(chuàng)建一個div元素作為計(jì)算器的容器,并在其中添加所需的HTML元素:

<div class="calculator">
    <input type="text" id="result" readonly />
    <div class="row">
        <button class="number">7</button>
        <button class="number">8</button>
        <button class="number">9</button>
        <button class="operator"><i class="fas fa-divide"></i></button>
    </div>
    <div class="row">
        <button class="number">4</button>
        <button class="number">5</button>
        <button class="number">6</button>
        <button class="operator"><i class="fas fa-times"></i></button>
    </div>
    <div class="row">
        <button class="number">1</button>
        <button class="number">2</button>
        <button class="number">3</button>
        <button class="operator"><i class="fas fa-minus"></i></button>
    </div>
    <div class="row">
        <button class="number">0</button>
        <button class="operator"><i class="fas fa-plus"></i></button>
    </div>
    <div class="row">
        <button id="clear">C</button>
        <button id="equal">=</button>
    </div>
</div>

頁面效果如圖

3.3 美化計(jì)算器頁面

接下來,使用CSS來美化我們的計(jì)算器界面:

.calculator {
    width: 200px;
    background-color: #f0f0f0;
    padding: 10px;
    border-radius: 5px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
    font-family: 'Roboto', sans-serif;
}
input[type="text"] {
    width: 100%;
    height: 40px;
    margin-bottom: 15px;
    padding: 10px;
    font-size: 20px;
    text-align: right;
}
.row {
    display: flex;
    justify-content: space-between;
    margin-bottom: 10px;
}
button {
    width: 45px;
    height: 45px;
    font-size: 16px;
    border: none;
    border-radius: 5px;
    cursor: pointer;
}
.number {
    background-color: #e0e0e0;
    color: #333;
}
.operator {
    background-color: #ff9800;
    color: white;
}

現(xiàn)在,我們已經(jīng)完成了計(jì)算器的界面。接下來,我們將使用JavaScript來實(shí)現(xiàn)計(jì)算器的邏輯。

3.4 實(shí)現(xiàn)計(jì)算器邏輯

首先,我們需要獲取HTML元素的引用,并設(shè)置一些狀態(tài)變量:

// 獲取HTML元素的引用
const resultInput = document.getElementById("result");
const numberButtons = document.getElementsByClassName("number");
const operatorButtons = document.getElementsByClassName("operator");
const clearButton = document.getElementById("clear");
const equalButton = document.getElementById("equal");
// 設(shè)置狀態(tài)變量
let currentNumber = "";
let firstNumber = "";
let operator = "";

然后,我們需要分別為數(shù)字按鈕、操作符按鈕和清除按鈕添加事件監(jiān)聽器,以便在點(diǎn)擊時(shí)執(zhí)行相應(yīng)的操作:

// 為數(shù)字按鈕添加事件監(jiān)聽器
for (let i = 0; i < numberButtons.length; i++) {
    numberButtons[i].addEventListener("click", function () {
        if (operator === "") {
            firstNumber += this.innerText;
            resultInput.value = firstNumber;
        } else {
            currentNumber += this.innerText;
            resultInput.value = currentNumber;
        }
    });
}
// 為操作符按鈕添加事件監(jiān)聽器
for (let i = 0; i < operatorButtons.length; i++) {
    operatorButtons[i].addEventListener("click", function () {
        operator = this.innerText;
        resultInput.value = operator;
    });
}
// 為清除按鈕添加事件監(jiān)聽器
clearButton.addEventListener("click", function () {
    currentNumber = "";
    firstNumber = "";
    operator = "";
    resultInput.value = "";
});

最后,我們需要為等號按鈕添加事件監(jiān)聽器,以便在點(diǎn)擊時(shí)執(zhí)行相應(yīng)的計(jì)算操作:

// 為等號按鈕添加事件監(jiān)聽器
equalButton.addEventListener("click", function () {
    let result;
    switch (operator) {
        case "+":
            result = parseFloat(firstNumber) + parseFloat(currentNumber);
            break;
        case "-":
            result = parseFloat(firstNumber) - parseFloat(currentNumber);
            break;
        case "*":
            result = parseFloat(firstNumber) * parseFloat(currentNumber);
            break;
        case "/":
            result = parseFloat(firstNumber) / parseFloat(currentNumber);
            break;
        default:
            result = "";
    }
    // 更新狀態(tài)變量
    currentNumber = result.toString();
    firstNumber = "";
    operator = "";
    resultInput.value = result;
});

四、總結(jié)

好了,本文的內(nèi)容就分享到這里。 希望你在使用這個精美計(jì)算器的過程中有所收獲,它不僅能幫助你進(jìn)行基本的數(shù)學(xué)運(yùn)算,還能為你提供一個愉快的使用體驗(yàn)。如果你對編程感興趣,也歡迎自行擴(kuò)展功能,讓這個計(jì)算器變得更加強(qiáng)大。

以上就是使用JavaScript和HTML實(shí)現(xiàn)一個精美的計(jì)算器的詳細(xì)內(nèi)容,更多關(guān)于JavaScript HTML實(shí)現(xiàn)計(jì)算器的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • js如何找出兩個數(shù)組中不同的元素

    js如何找出兩個數(shù)組中不同的元素

    這篇文章主要介紹了js如何找出兩個數(shù)組中不同的元素,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • JS下載文件|無刷新下載文件示例代碼

    JS下載文件|無刷新下載文件示例代碼

    JS下載文件的實(shí)現(xiàn)在網(wǎng)上可以找到很多教程,不過本文為大家介紹的是無刷新下載文件,貌似更酷一點(diǎn)是吧
    2014-04-04
  • javascript中的五種基本數(shù)據(jù)類型

    javascript中的五種基本數(shù)據(jù)類型

    在javascript中申明變量使用的關(guān)鍵字都是var,這點(diǎn)與其他的編程語言不盡相同,但是javascript亦含有五種基本的數(shù)據(jù)類型(也可以說是簡單數(shù)據(jù)類型),它們分別是:Undefined,Null,Boolean,Number和String。還含有一種復(fù)雜數(shù)據(jù)類型—Object。這里我們不談復(fù)雜數(shù)據(jù)類型
    2015-08-08
  • JS中正則表達(dá)式要注意lastIndex屬性

    JS中正則表達(dá)式要注意lastIndex屬性

    這篇文章主要介紹了JS中正則表達(dá)式要注意lastIndex屬性,需要的朋友可以參考下
    2017-08-08
  • JavaScript sort排序的使用方法詳解

    JavaScript sort排序的使用方法詳解

    這篇文章主要介紹了JavaScript sort排序的使用方法,sort方法用于對數(shù)組的元素進(jìn)行排序,排序順序可以是字母或數(shù)字,并按升序或降序,默認(rèn)排序順序?yàn)榘醋帜干?需要的朋友可以參考下
    2024-10-10
  • js如何獲取file控件的完整路徑具體實(shí)現(xiàn)代碼

    js如何獲取file控件的完整路徑具體實(shí)現(xiàn)代碼

    需要隱藏input file然后獲取它的值,但連jquery都無法獲取它的值,下面與大家分享下使用js的具體獲取方法,感興趣的朋友可以參考下哈
    2013-05-05
  • javascript實(shí)現(xiàn)任務(wù)欄消息提示的簡單實(shí)例

    javascript實(shí)現(xiàn)任務(wù)欄消息提示的簡單實(shí)例

    下面小編就為大家?guī)硪黄猨avascript實(shí)現(xiàn)任務(wù)欄消息提示的簡單實(shí)例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-05-05
  • JS多個異步請求 按順序執(zhí)行next實(shí)現(xiàn)解析

    JS多個異步請求 按順序執(zhí)行next實(shí)現(xiàn)解析

    這篇文章主要介紹了js多個異步請求 按順序執(zhí)行next實(shí)現(xiàn)解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-09-09
  • electron如何使用typescript

    electron如何使用typescript

    引入 TypeScript 到 Electron 項(xiàng)目可以幫助你捕捉錯誤并在編寫代碼時(shí)提供更好的自動完成和文檔,這篇文章主要介紹了electron使用typescript的步驟,需要的朋友可以參考下
    2024-04-04
  • JavaScript變量提升和嚴(yán)格模式實(shí)例分析

    JavaScript變量提升和嚴(yán)格模式實(shí)例分析

    這篇文章主要介紹了JavaScript變量提升和嚴(yán)格模式,結(jié)合實(shí)例形式分析了javascript變量提升和嚴(yán)格模式的原理及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下
    2019-01-01

最新評論

泰安市| 永昌县| 荆州市| 新田县| 玛沁县| 大渡口区| 井冈山市| 炎陵县| 弥渡县| 达日县| 襄樊市| 滕州市| 吴江市| 天峻县| 福泉市| 四平市| 彝良县| 个旧市| 扎鲁特旗| 毕节市| 怀宁县| 岢岚县| 屯昌县| 磐石市| 麻栗坡县| 吴旗县| 盘锦市| 玉龙| 湟中县| 祁门县| 鄱阳县| 平利县| 子洲县| 都江堰市| 五台县| 芜湖市| 杭锦后旗| 溧阳市| 宽甸| 虎林市| 靖宇县|