在开发过程中,由于浏览器的缓存,有时候获取到<img>标签图片的高度并不是图片真实的高度,会影响我们在js代码中一些对图片尺寸的处理,那么怎么获取图片的真是高度呢?方法如下:
// 获取图片真实高度
function getImageWidth(url,callback){
var img = new Image();
img.src = url;
// 如果图片被缓存,则直接返回缓存数据
if(img.complete){
callback(img.width, img.height);
}else{
img.onload = function(){
callback(img.width, img.height);
}
}
}
例子:
$(function(){
var imgSrc = $("#image").attr("src");
getImageWidth(imgSrc,function(w,h){
console.log({width:w,height:h});
});
});
这样返回的w,h就是图片的真是高度了