for 循环中创建图片并监听 onload 事件失败

问题:通过循环创建图片,并在每个图片加载完成之后执行函数,不过每次都是触发最后一个图片的 onload 事件。
代码:

var src=[

  "http://www.w3school.com.cn/i/site_photoref.jpg",

  "http://www.w3school.com.cn/i/site_photoexa.jpg",

  "http://www.w3school.com.cn/i/site_photoqe.jpg"

]

for(var i=0;i<3;i++){

  var img=new Image();

  img.src=src[i];

  img.onload=function(){

    console.log(img)

  }

}

执行结果是:

<img src="http://www.w3school.com.cn/i/site_photoqe.jpg">

<img src="http://www.w3school.com.cn/i/site_photoqe.jpg">

<img src="http://www.w3school.com.cn/i/site_photoqe.jpg">

我的需求是获得每个图片加载完成之后执行相应的函数,有没有什么好的解决办法?

拉风的咖菲猫
浏览 718回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript