要在JavaScript中实现一个加载进度条,你需要了解几个基础概念:
<div id="progress-container">
<div id="progress-bar"></div>
</div>
#progress-container {
width: 100%;
background-color: #f3f3f3;
border: 1px solid #ccc;
border-radius: 5px;
overflow: hidden;
}
#progress-bar {
height: 20px;
width: 0%;
background-color: #4caf50;
}
XMLHttpRequest
或者fetch
API来加载资源,并监听加载进度。以下是使用XMLHttpRequest
的一个例子:function loadFile(url) {
var xhr = new XMLHttpRequest();
xhr.open('GET', url, true);
xhr.responseType = 'blob';
xhr.onprogress = function(event) {
if (event.lengthComputable) {
var percentComplete = (event.loaded / event.total) * 100;
document.getElementById('progress-bar').style.width = percentComplete + '%';
}
};
xhr.onload = function() {
if (xhr.status === 200) {
console.log('File loaded successfully');
// 处理加载完成的文件
}
};
xhr.send();
}
// 使用函数加载文件
loadFile('path/to/your/file');
如果你想要监控页面上所有资源的加载进度,你可以使用PerformanceResourceTiming
接口来获取更详细的加载信息。
onprogress
事件和PerformanceResourceTiming
接口。onprogress
事件是否被正确触发。event.lengthComputable
为true
,并且event.total
和event.loaded
的值是合理的。以上就是实现加载进度条的基本方法和注意事项。
领取专属 10元无门槛券
手把手带您无忧上云