读书人

经过$.Deferred 实现判断N个图片加载完

发布时间: 2012-11-22 00:16:41 作者: rapoo

通过$.Deferred 实现判断N个图片加载完毕逻辑
最近,图片分享的兴起,关于图片的JS效果也多了起来,比如自动缩放、自动排版等,对于这一类效果很多都依赖于图片的完全加载后才能执行,所以,这是就需要通过js判断N个图片是否加载完毕了。
最简单的判断逻辑是使用window.onload事件,和jquery等库提供的domready事件不同,这个事件保证了所有网页内容都加载完后才触发,包括图片,而domready事件不能保证图片已经加载,由此保证了脚本正常执行。
不过这个方法也不是十全十美的,首先在效率上不是最优的,不过这不是最主要的问题,还能接受。最大的问题是如果img是通过ajax请求或其他异步手段生成,window.onload事件就不会触发,还有其他方案吗?
有,那就是直接用image的onload和complete参数判断。网上有不少介绍。可以参看:http://blog.sina.com.cn/s/blog_73c8ed1901013k70.html
下面是针对一个image的加载判断。

  

读书人网 >Web前端

热点推荐