简体   繁体   中英

Preloader with JavaScript

I have faced such a problem. I need to make a preloader with a percentage for a page but I don't know how. Actually, I don't need animation or simple preloader. What do I can and what do I have?

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);
    }
}

};

This aproach allows to see all images to be downloaded and and calculate percentage. But how do I can also take in count the download of css and js files?

您可以使用相同的方法,但要使用document.scriptsdocument.styleSheets集合。

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM