首页 > Web开发 > 详细

js获取图片高度

时间:2015-08-03 16:30:01      阅读:223      评论:0      收藏:0      [点我收藏+]

js获取图片高度时经常会获取的图片高度为0,原因是图片未加载完毕。第一次加载时,显示0(火狐等部分浏览器显示24)。待加载完毕后,再刷新,显示图片高度258。

var oImg = document.createElement("img");
oImg.src = "http:////www.baidu.com/img/bdlogo.png";
document.getElementsByTagName("body")[0].appendChild(oImg);
console.log(oImg.height);

  onload可以避免这种问题。

oImg.onload = function(){
    console.log(this.height);
};

  jquery有类似方法。

$(oImg).load(function(){
    console.log($(this).height());
});

   浏览器加载图片只加载一次,第二次则读取缓存。onload事件只在第一次加载过程中触发。如果我们无论图片是否存在缓存中都在图片加载完毕后执行某语句,则可利用img的complete属性。complete为true时,表示图片存在于缓存中。

if(oImg.complete){
  console.log(oImg.height);		
}else{
  oImg.onload = function(){
      console.log(this.height);
  };
}

 

js获取图片高度

原文:http://www.cnblogs.com/linchaoqun/p/4699253.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!