<!DOCTYPE html>
<html>
<head>
<title>進度條</title>
<style>
#progress-container {
width: 300px;
height: 30px;
background-color: #e0e0e0;
border-radius: 5px;
overflow: hidden; /* 隱藏溢位的進度條 */
}
#progress-bar {
height: 100%;
background-color: #4CAF50; /* 進度條顏色 */
width: 0%; /* 初始寬度為0 */
border-radius: 5px;
transition: width 0.5s ease-in-out; /* 新增過渡效果 */
}
#percentage {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
color: white;
}
</style>
</head>
<body>
<h1>進度條</h1>
<div id="progress-container">
<div id="progress-bar">
<div id="percentage">0%</div>
</div>
</div>
<button onclick="updateProgress(25)">25%</button>
<button onclick="updateProgress(50)">50%</button>
<button onclick="updateProgress(75)">75%</button>
<button onclick="updateProgress(100)">100%</button>
<script>
function updateProgress(percentage) {
var progressBar = document.getElementById("progress-bar");
var percentageDisplay = document.getElementById("percentage");
progressBar.style.width = percentage + "%";
percentageDisplay.textContent = percentage + "%";
}
</script>
</body>
</html>
程式碼解釋:
-
HTML 結構:
#progress-container
: 進度條的容器,設定了寬度、高度、背景顏色和圓角。overflow: hidden;
確保進度條不會超出容器。#progress-bar
: 實際的進度條,初始寬度為 0,高度為 100%,背景顏色為綠色,也設定了圓角。transition
屬性提供了平滑的動畫效果。#percentage
: 顯示百分比的文字,使用絕對定位和transform
屬性使其居中。
-
CSS 樣式: 設定了進度條和容器的外觀。
-
JavaScript 功能:
updateProgress(percentage)
函式:接受一個百分比值作為引數,更新進度條的寬度和顯示的百分比文字。
如何使用:
- 將程式碼複製到一個 HTML 檔案中 (例如
progressbar.html
)。 - 在瀏覽器中開啟該檔案。
- 點選按鈕,即可看到進度條的變化。
改進方向:
- 動態更新: 可以結合 AJAX 或其他技術,根據實際的進度動態更新進度條,而不是手動設定百分比。
- 自定義樣式: 可以修改 CSS 樣式來自定義進度條的外觀,例如顏色、高度、圓角等。
- 動畫效果: 可以使用更復雜的 CSS 動畫或 JavaScript 動畫庫來建立更豐富的動畫效果。
這個例子提供了一個基本的 HTML 進度條實現,你可以根據自己的需求進行修改和擴充套件。