在html中創建進度條最直接的方法是使用
HTML里做進度條,用
1.
<progress value="30" max="100"></progress>
這段代碼會顯示一個進度條,當前完成了30%,總進度是100%。如果不寫max,默認值是1.0,這時候value也應該在0到1之間。
如果你的任務還沒開始,或者還在計算進度,可以用“不確定模式”,也就是不加value屬性:
立即學習“前端免費學習筆記(深入)”;
<progress max="100"></progress>
這種狀態常用于頁面加載初期,等數據拿到后再動態更新value。
2. 給進度條加樣式(簡單美化)
默認的進度條樣式比較單調,但你可以用css來改顏色、高度、圓角這些外觀。不同瀏覽器對
比如你想把進度條改成藍色,寬度拉長一點,可以這樣寫:
<style> progress { width: 300px; height: 20px; border-radius: 10px; background-color: #eee; } progress::-webkit-progress-value { background-color: #4CAF50; border-radius: 10px; } progress::-moz-progress-bar { background-color: #4CAF50; border-radius: 10px; } </style> <progress value="60" max="100"></progress>
這里用了偽元素選擇器來分別控制chrome和firefox里的進度部分顏色。雖然有點麻煩,但基本能實現大多數簡單的美化需求。
3. 動態更新進度條(配合JavaScript)
實際開發中,進度通常是動態變化的,比如文件上傳、定時任務等。這時候就需要用JS來更新value屬性。
舉個例子,每隔一秒增加10%的進度:
<progress id="myProgress" value="0" max="100"></progress> <p id="percent">0%</p> <script> let progress = document.getElementById('myProgress'); let percent = document.getElementById('percent'); let current = 0; let timer = setInterval(() => { current += 10; progress.value = current; percent.textContent = current + '%'; if (current >= 100) { clearInterval(timer); } }, 1000); </script>
這個例子模擬了進度遞增的效果。你也可以把它應用到真實的異步任務中,比如ajax請求、文件上傳監聽等場景。
基本上就這些。
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END