我遇到了这样的问题。我需要用页面的一定百分比制作一个预加载器,但我不知道如何做。实际上,我不需要动画或简单的预加载器。我能做什么,我有什么?
window.onload = function() {
var images = document.images,
imagesTotalCount = images.length,
imagesLoadedCount = 0,
preloader = document.getElementById('js_preloader'),
percDisplay = document.getElementById('js_preload__percentage');
for(var i = 0; i < imagesTotalCount; i++) {
image_clone = new Image();
image_clone.onload = image_loaded;
image_clone.onerror = image_loaded;
image_clone.src = images[i].src;
}
function image_loaded() {
imagesTotalCount++;
percDisplay.innerHTML = (((100 / imagesTotalCount) * imagesLoadedCount) << 0) + '%';
if(imagesLoadedCount >= imagesTotalCount) {
setTimeout(function() {
if(!preloader.classList.contains('done')) {
preloader.classList.add('done');
}
}, 1500);
}
}
};
该方法可以查看所有要下载的图像并计算百分比。但是,我如何还能计算css和js文件的下载量呢?
最佳答案
您可以使用相同的方法,但要使用document.scripts
和document.styleSheets
集合。