HTML實現進度條的方法有很多,可以通過CSS樣式來制作,也可以利用JavaScript來完成。其中,使用CSS樣式的方法比較簡單,代碼也比較易懂。
//HTML代碼//CSS代碼 .progress { width: 200px; height: 10px; background-color: #ccc; margin: 10px 0; } .bar { width: 0; height: 100%; background-color: #ff6600; transition: width 1s ease-out; } //JavaScript代碼 var progress = document.querySelector('.bar'); var width = 0; var timer = setInterval(function() { if (width< 100) { width++; progress.style.width = width + '%'; } else { clearInterval(timer); } }, 10);
上面的代碼實現了一個簡單的進度條,寬度會在一秒鐘內從0到100%逐漸增加。其中,.progress定義了進度條的樣式,.bar定義了進度條的彩條樣式,并通過transition屬性實現了寬度的動態變化。
JavaScript部分主要是通過setInterval函數來使進度條寬度逐漸增加。變量width表示當前進度條的寬度,初始為0。timer是一個定時器,每10毫秒就會執行一次函數。在函數中,判斷如果width還沒有達到100%的話就將寬度加1,并將其賦值給.progress的寬度。
上述代碼只是實現了一個靜態的進度條,如果需要動態顯示進度,可以通過AJAX請求的方式來獲取請求進度并動態更新進度條的寬度。代碼的基本結構與上面的例子類似,在獲取到數據后只需要將進度值賦值給.width屬性即可。