Preloading images in HTML

后端 未结 3 1713
小鲜肉
小鲜肉 2020-11-29 12:06

I want to preload these 4 images. I tried this:



&l         


        
3条回答
  •  时光说笑
    2020-11-29 12:23

    This never actually appends anything to the DOM, I used an array to keep references of the created images, and pass them to an optional callback

    var paths =  [
        "img/1.jpg",
        "img/1a.jpg",
        "img/1b.jpg",
        "img/1c.jpg"
    ];
    
    preloadImages(paths);
    
    function preloadImages(paths, callback) {
        var images = [];
        var loaded = 0;
    
        paths.forEach(function (path) {
            var img = new Image();
            img.src = path;
            img.onload = onImagePreloaded;
            images.push(img);
        });
    
    
        function onImagePreloaded() {
            loaded++;
            if (loaded === paths.length && callback) {
                 callback(images);
            }
        }
    }
    

提交回复
热议问题