如何在 HTML5 中顯示任務完成進度?


如果我們想直觀地展示任何任務或目標的完成情況,可以使用<progress> 元素。要顯示任務完成的進度,可以使用 max 和 value 屬性。以下是 HTML 中<progress>標籤的語法:

<progress value=”20”  max=”100”></progress>

進度條具有開始和結束標籤。它是 HTML5 中一個新的語義元素。它也用於顯示檔案上傳進度。

HTML <progress> 標籤支援以下屬性:

屬性

描述

max

最大值

它應該是一個大於零的有效浮點數。

value

value

指定已完成任務的多少。它應該是一個介於 0 和 max 之間的浮點數,如果省略 max,則為 0 到 1 之間的浮點數。

它也支援全域性和事件屬性。

示例

以下示例演示如何在 HTML 中顯示任務完成進度:

<!DOCTYPE html>
<html>
<body>
   <h1>Progress element in HTML</h1>
   <label for="file">File Copying Progress:</label>
   <progress id="file" value="45" max="100"> 45% </progress>
</body>
</html>

現在,讓我們看看如何在 HTML 中設定進度條的樣式:

使用 CSS 設定進度條樣式

現在讓我們使用 CSS 來設定進度條的樣式:

<!DOCTYPE html>
<html>
<head>
   <style>
      progress[value] {
         -webkit-appearance: none;
         appearance: none;
         width: 250px;
         height: 20px;
      }
   </style>
</head>
<body>
   <h1>Progress element in HTML</h1>
   <label for="file">File Downloading Progress:</label>
   <progress id="file" value="35" max="100"> 35% </progress>
</body>

示例

下面的示例建立了一個帶有兩個按鈕的進度條,透過應用 JavaScript 程式碼來增加和減少進度條。

<!DOCTYPE html>
<html>
<style>
   #container {
      width: 100%;
      background-color: gray;
   }

   #bar {
      width: 0%;
      height: 40px;
      background-color: red;
   }
</style>
<body>
   <h1>Progress Bar</h1>
   <div id="container">
      <div id="bar"></div>
   </div>
   <br>
   <button onclick="Increase()">Increase</button>
   <button onclick="Decrease()">Decrease</button>
   <!-- dispaying message for user -->
   <h2>Increase by 5%</h2>
   <h2>Decrease by 5%</h2>
   <script>
      function Increase() {
         var elem = document.getElementById("bar");
         var width = elem.style.width;
         width = width.replace(/%/g, '');
         if (width == "") width = '5';
         else width = parseInt(width) + 5;
         if (width == 100) {
            width = width.toString() + '%';
            elem.style.width = width;
         } else if (width < 100) {
            width = width.toString() + '%';
            elem.style.width = width;
         }
      }

      function Decrease() {
         var elem = document.getElementById("bar");
         var width = elem.style.width;
         width = width.replace(/%/g, '');
         if (width == "") width = '0';
         else width = parseInt(width) - 5;
         if (width == 0) {
            width = width.toString() + '%';
            elem.style.width = width;
         } else if (width > 0) {
            width = width.toString() + '%';
            elem.style.width = width;
         }
      }
   </script>
</body>
</html>

更新於:2023年10月10日

288 次瀏覽

開啟你的職業生涯

完成課程獲得認證

開始學習
廣告