jquery判断图片加载完毕
2016-07-12 16:47
495 查看
单个图片加载 function loadImage(url, load, error) { var img = new Image(); //创建一个Image对象,实现图片的预下载 img.src = url; if(img.complete)//如果图片已经存在于浏览器缓存,直接调用回调函数 { load.call(img, img.width, img.height); return; // 直接返回,不用再处理onload事件 } img.onload = function () { load && load.call(img);//将回调函数的this替换为Image对象 }; img.onerror = function () { error && error.call(img); img = img.onload = img.onerror = null; }; };
下面是针对多个image的加载判断。
关于Deferred的应用,参见这篇文章:
http://www.ruanyifeng.com/blog/2011/08/a_detailed_explanation_of_jquery_deferred_object.html
var imgdefereds=[]; $('img').each(function(){ var dfd=$.Deferred(); $(this).bind('load',function(){ dfd.resolve(); }).bind('error',function(){ //图片加载错误,加入错误处理 // dfd.resolve(); }) if(this.complete) setTimeout(function(){ dfd.resolve(); },1000); imgdefereds.push(dfd); }) $.when.apply(null,imgdefereds).done(function(){ callback(); });
相关文章推荐
- Jquery与CSS选择器参考手册
- 利用jQuery对无序列表排序
- jquery 验证非空
- 12jQuery formValidator插件
- 5JQuery与Ajax
- 4JQuery与Dom操作
- 3JQuery与Css
- 15文本编辑器
- 16文件上传
- 18jQuery easyUI
- 2事件
- 1使用jQuery
- 关于jQuery源码分析
- jQuery bt气泡实现悬停显示及移开隐藏功能的方法
- Jquery 全选、反选问题解析
- jQuery 的 extend 扩展方法
- JQuery对ASP.NET MVC数据进行更新删除
- 类似jquery源码jsonp跨域处理
- 8 个 jQuery 的 PDF 浏览插件
- 图片鼠标悬停特效 Adipoli 20多种效果jQuery插件