Javascript - wait images to be loaded

前端 未结 6 790
栀梦
栀梦 2021-01-07 03:46
var l = false;
var l2 = false;

var imm = new Image();
imm.src = \"b.png\";

imm.onload = function(){
l = true;
}

var imm2 = new Image();
imm2.src = \"c.png\";

imm         


        
6条回答
  •  刺人心
    刺人心 (楼主)
    2021-01-07 04:31

    More elegant way in my opinion:

    var loadedImagesCount = 0;
    var imageNames = ["b.png", "c.png"];
    var imagesArray = [];
    for (var i = 0; i < imageNames.length; i++) {
        var image = new Image();
        image.src = imageNames[i];
        image.onload = function(){
            loadedImagesCount++;
            if (loadedImagesCount >= imageNames.length) {
                //loaded all pictures
            }
        }
        imagesArray.push(image);
    }
    

    Instead of messing with lots of different image variables, just store the image names in plain array then loop over this and count how many pictures are loaded.

提交回复
热议问题