jq/js判断图片是否加载完毕
2017-09-14 17:04
537 查看
先看我的两种可以实现的解决方案
利用图片没有加载完成的时候,宽高为0。我们很容易判断图片的一个加载情况。如下:
第二种方法:
在callback()中写入加载完成后执行的代码。
众所周知,常见瀑布流当鼠标滚动到浏览器底部的时候,就会发起一个ajax的请求。在服务端生成item列表后,通过 js append到相应的p里边。
看起来很简单的样子,关键问题就出在图片的加载问题上,图片一般都放在服务器上,通过http下载到客户端。
而图片下载到本地是需要一定时间的(网速快的路过)。当图片还没有下载完的时候,使用js获取到元素的宽高将会是0。
有的同学说了我使用jquery的ready不就好了。如下:
$(document).ready(function(){
// 在这里写你的代码…
});
如果这么简单就好了,我这里就说下ready与window.onload的区别。
jquery的ready只是dom的结构加载完毕,便视为加载完成。(缺点是图片没有加载完毕,宽高为0,程序出错)
js的window.onload是指dom的生成和资源的加载,比如flash、图片完全加载出来后才执行onload。(缺点就是当某一张图片很大的时候,岂不阻止了其它js的正常执行)
利用图片没有加载完成的时候,宽高为0。我们很容易判断图片的一个加载情况。如下:
var t_img; // 定时器 var isLoad = true; // 控制变量 // 判断图片加载状况,加载完成后回调 isImgLoad(function(){ // 加载完成执行的语句 }); // 判断图片加载的函数 function isImgLoad(callback){ // 注意我的图片类名都是cover,因为我只需要处理cover。其它图片可以不管。 // 查找所有封面图,迭代处理 $('.cover').each(function(){ // 找到为0就将isLoad设为false,并退出each if(this.height === 0){ isLoad = false; return false; } }); // 为true,没有发现为0的。加载完毕 if(isLoad){ clearTimeout(t_img); // 清除定时器 // 回调函数 callback(); // 为false,因为找到了没有加载完成的图,将调用定时器递归 }else{ isLoad = true; t_img = setTimeout(function(){ isImgLoad(callback); // 递归扫描 },500); // 我这里设置的是500毫秒就扫描一次,可以自己调整 } }
第二种方法:
function imgLoad(img, callback) { var timer = setInterval(function() { if(img.complete) { callback(); clearInterval(timer); } }, 50) } $(".contentTwo img").each(function(){ imgLoad(this,function() { }) })
在callback()中写入加载完成后执行的代码。
众所周知,常见瀑布流当鼠标滚动到浏览器底部的时候,就会发起一个ajax的请求。在服务端生成item列表后,通过 js append到相应的p里边。
看起来很简单的样子,关键问题就出在图片的加载问题上,图片一般都放在服务器上,通过http下载到客户端。
而图片下载到本地是需要一定时间的(网速快的路过)。当图片还没有下载完的时候,使用js获取到元素的宽高将会是0。
有的同学说了我使用jquery的ready不就好了。如下:
$(document).ready(function(){
// 在这里写你的代码…
});
如果这么简单就好了,我这里就说下ready与window.onload的区别。
jquery的ready只是dom的结构加载完毕,便视为加载完成。(缺点是图片没有加载完毕,宽高为0,程序出错)
js的window.onload是指dom的生成和资源的加载,比如flash、图片完全加载出来后才执行onload。(缺点就是当某一张图片很大的时候,岂不阻止了其它js的正常执行)
相关文章推荐
- jq检测 图片是否加载完毕 js检测图片是否加载完毕
- js判断网页是否加载完毕----包括图片
- js判断网页是否加载完毕 包括图片
- 仿照DiscuzNT弹出框以及JS判断框架是否加载完毕,加载中...
- 关于JS判断图片是否加载完成且获取图片宽度的方法
- js 判断图片是否加载完成
- js或者jquery判断图片是否加载完成实现代码
- 判断CSS与JS是否加载完毕的方法
- js判断图片是否加载完成
- 关于JS判断图片是否加载完成且获取图片宽度的方法
- JS实现判断图片是否加载完成的方法分析
- javaScript & jquery完美判断图片是否加载完毕
- 用js判断页面是否加载完毕
- js 判断图片是否加载完以及实现图片的预下载
- js 判断图片是否加载完以及实现图片的预下载
- js判断图片是否加载成功
- js判断背景图片是否加载成功使用img的width实现
- js或者jquery判断图片是否加载完成
- js判断背景图片是否加载成功使用img的width实现
- js判断页面是否加载完毕