imgObj默认加载src?

来源:2-3 实例1图片相册之使用预加载

qq_幻影_10

2017-05-03 16:14

$.ech(imgs,function(i,src){

    var imgObj=new Image();

    $(imgObj).on('load',function(){

})

})    

写回答 关注

4回答

  • LittleBocchi
    2017-05-10 16:33:30

    根据二楼和网上资料总结:

    JS内部是按顺序执行的(可以认为是同步执行),假设"给图片的src属性赋值"在"给图片绑定onload事件"之前,JS解释器会先执行赋值语句,src属性被赋值后图片开始下载,但解释器不会等待图片加载完毕后再执行下一条语句,因为加载图片这个过程是异步的(就像你可以一边蹲坑一边玩王者毒药,当然一边放大一边吸毒很不好)。也就是说图片加载的同时,可以执行"给图片绑定onload事件",不过加载图片这个异步过程可能在"给图片绑定onload事件"之前就完成了(比如浏览器缓存了图片),此时图片加载完成后还没有给图片绑定onload事件,也就是说图片加载完成后什么也不会发生。
    总而言之,"给图片绑定onload事件"应在"给图片的src属性赋值"之前,这样就可以保证图片加载完成后触发onload事件。

  • 慕UI0029836
    2017-05-09 17:38:02

    理解有误

  • Friday__
    2017-05-08 16:31:12

    额,可能你理解有误吧,onload事件是异步,也就是先给imgObj的src赋值,然后才开始下载图片,下载图片完成后才出发onload事件

  • annynino
    2017-05-03 16:53:30

    是Image对象里的src属性,加载你each中遍历出来的src,及imgObj.src = src;

图片预加载

预知发生的行为,提前加载需要的图片,获得更好的用户体验

40980 学习 · 81 问题

查看课程

相似问题