高效获取图片宽高的轮子

我们知道有些图片虽然没有完全加载出来,但是已经先有占位符,然后一点一点的加载。既然有占位符那应该是请求图片资源服务器响应后返回的
可服务器什么时候响应并返回宽高的数据并没有触发事件,所以就有了定时检测获取宽高的方法,这种方法比img.onload方法要快,代码如下:

// 创建对象
var img = new Image();
// 改变图片的src
img.src = imgThumb;
let imgW = 0;
let imgH = 0;

var check = function(){
// 只要任何一方大于0 表示已经服务器已经返回宽高
if(img.width>0 || img.height>0){
imgW = img.width;
imgH = img.height;
clearInterval(set); //清空周期
}
};

var set = setInterval(check,40); //40毫秒请求一次服务器直到获取宽高

参考地址:https://www.jb51.net/article/75441.htm
posted @ 2019-08-28 15:14  搜戴斯  阅读(199)  评论(0编辑  收藏  举报