使用HTML、CSS和JavaScript建立計算器


要使用HTML、CSS和Javascript建立一個計算器,我們需要對HTML、CSS和JavaScript的工作原理有基本的瞭解。計算器是一個簡單的工具,它執行基本的算術計算,例如加法、減法、乘法和除法。在本文中,我們將討論如何使用HTMLCSSJavaScript來建立一個計算器。通常,如果我們觀察任何即時的計算器,我們知道它有

  • 一個數字網格(0-9和00)。
  • 基本的算術運算子(+、-、/、x、%)。
  • 一些用於特殊運算的符號,例如(清除、退格和等於)

我們即時計算器的輸出將如下所示

計算器 - 技術教學





 

HTML的使用

在本文中,為了建立一個計算器,我們使用HTML來建立基本結構。使用HTML,我們建立了一個輸入欄位、顯示區域和按鈕

CSS的使用

我們使用CSS來設計使用HTML建立的計算器的基本結構,使其更易於使用者使用,並使其看起來更好。CSS有助於以有組織的方式定位和排列按鈕、顯示區域和輸入欄位,並負責字型顏色背景顏色填充邊距等。

JavaScript的使用

在本文中,為了建立計算器,我們使用了JavaScript來為每個按鈕新增功能,並對使用者輸入做出響應。我們使用Javascript添加了點選事件和鍵盤輸入,以便每個元件都能執行其各自的功能。

使用HTML、CSS和JS建立計算器

下面是我們用來建立計算器的HTML、CSS和JavaScript的完整示例程式碼。它提供了它們正在執行的功能的分步解釋。

HTML程式碼

這是我們計算器的HTML檔案。在這裡,我們使用HTML來建立計算器UI的內容。我們包括計算器的按鈕、輸入欄位和顯示區域。

在HTML程式碼中,我們使用了**onclick**事件,這意味著每當使用者點選任何按鈕時,相應的操作就會在使用javascript的計算器後端執行。

<!DOCTYPE html>
<html lang="en">
<head>
   <title>Calculator</title>
   <link rel="stylesheet" href="style.css">
</head>
<body>
   <div id="calc">
      <div id="content">
         <form>
            <div id="output">
               <input type="text" id='res'>
            </div>
            <div class="btn">
               <input type="button" value='C' onclick="Clear()" id="clear">
               <input type="button" value='←' onclick="Back()" id="backspace">
               <input type="button" value='%' onclick="Solve('%')">
               <input type="button" value='/' onclick="Solve('/')">
               <br>
               <input type="button" value='7' onclick="Solve('7')">
               <input type="button" value='8' onclick="Solve('8')">
               <input type="button" value='9' onclick="Solve('9')">
               <input type="button" value='x' onclick="Solve('*')">
               <br>
               <input type="button" value='4' onclick="Solve('4')">
               <input type="button" value='5' onclick="Solve('5')">
               <input type="button" value='6' onclick="Solve('6')">
               <input type="button" value='-' onclick="Solve('-')">
               <br>
               <input type="button" value='1' onclick="Solve('1')">
               <input type="button" value='2' onclick="Solve('2')">
               <input type="button" value='3' onclick="Solve('3')">
               <input type="button" value='+' onclick="Solve('+')">
               <br>
               <input type="button" value='00' onclick="Solve('00')">
               <input type="button" value='0' onclick="Solve('0')">
               <input type="button" value='.' onclick="Solve('.')">
               <input type="button" value='=' onclick="Result()">
            </div>
         </form>
      </div>
   </div>
   <script src='index.js'></script>
</body>
</html>

CSS程式碼

這是實現我們計算器的CSS的**style.css**檔案,它連結到HTML程式碼。透過這段CSS程式碼,我們使用flex將計算器放置在頁面中心,為計算器提供了深色主題背景,為“c”和“←”按鈕添加了不同的顏色,並調整了顯示輸入框的大小,並更改了元素的字型大小和填充。

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
#calc {
    width: 100%;
    height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
}
#content {
    background: #2c302c;
    padding: 20px;
    border-radius: 10px;

}
#content form input {
    border: 0;
    outline: 0;
    width: 50px;
    height: 50px;
    border-radius: 8px;
    font-size: 15px;
    margin: 10px;
    cursor: pointer;
}
#backspace {
    background-color: rgb(237, 89, 30);
    color: white;
}
#res {
    padding: 10px;
}
#clear {
    background-color: rgb(237, 89, 30);
    color: white;
}
form #output {
    display: flex;
    justify-content: flex-end;
    margin: 15px 0;
}
form #output input {
    text-align: right;
    flex: 1;
    font-size: 25px;
}

JavaScript程式碼

這是實現我們計算器的Javascript的**index.js**檔案,它連結到HTML程式碼。此程式碼具有主要功能,例如:使用**solve**函式追加值,使用**result**函式計算結果(使用“eval”計算結果),如果算術表示式中存在任何錯誤,則顯示錯誤訊息,使用**clear**函式清除顯示,使用**back**函式刪除數字,最後,我們使用addEventListener添加了鍵盤功能。

以下是使用javascript實現上述功能。

function Solve(val) {
   var v = document.getElementById('res');
   v.value += val;
}
function Result() {
   var num1 = document.getElementById('res').value;
   try {
      var num2 = eval(num1.replace('x', '*'));
      document.getElementById('res').value = num2;
   } catch {
      document.getElementById('res').value = 'Error';
   }
}
function Clear() {
   var inp = document.getElementById('res');
   inp.value = '';
}
function Back() {
   var ev = document.getElementById('res');
   ev.value = ev.value.slice(0, -1);
}
document.addEventListener('keydown', function (event) {
   const key = event.key;
   const validKeys = '0123456789+-*/.%';
   if (validKeys.includes(key)) {
      Solve(key === '*' ? 'x' : key);
   } else if (key === 'Enter') {
      Result();
   } else if (key === 'Backspace') {
      Back();
   } else if (key.toLowerCase() === 'c') {
      Clear();
   }
});

更新於:2024年7月12日

68K+ 次瀏覽

啟動您的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.