加载所有图像后如何提醒? [英] how to alert after all images loaded?

查看:128
本文介绍了加载所有图像后如何提醒?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我是初学者在javascript我正在构建javascript游戏,我想在加载所有图像后发出警报我试过这段代码但是它无法正常工作

im beginner in javascript i`m building javascript game and i want to alert after all images loaded i tried this code but its not working

function loadEveryThing(){

var imgNumber = 0;

img1 = new Image();
img1.src= "1.png"
img1.onload = function(){
imgNumber =imgNumber+1;
}


img2 = new Image();
img2.src= "2.png"
img2.onload = function(){
imgNumber =imgNumber+1;
}


img3 = new Image();
img3.src= "3.png"
img3.onload = function(){
imgNumber =imgNumber+1;
}

if(imgNumber==3)alert("done")

}


推荐答案

图像是异步加载的。在任何图像加载之前,您的检查器代码将运行。我建议您为每个图像加载执行检查。类似于:

The images are loading asynchronously. Your checker code will run before any of the images get loaded. I suggest you do the checks for each image load. Something like:

function loadImages(urls,callback){

  //counter
  var counter = 0;

  //checking function
  function check(){
    counter++;
    if(urls.length === counter) callback();
  }

  //for each image, attach the handler and load
  for(var i = urls.length; i--;){
    img = new Image();
    img3.onload = check;
    img.src= urls[i]
  }

}

loadImages([/*array of urls*/],function(){
  //this function fires when all images have loaded
});

这篇关于加载所有图像后如何提醒?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆