如何在 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 次浏览

开启你的职业生涯

完成课程获得认证

开始学习
广告