IE瀏覽器下js無法獲取隱藏圖片尺寸簡單介紹

admin發表於2017-03-31

當然並不是在所有的IE瀏覽器會有此現象,IE11中此問題已經被消除。

這裡所說的隱藏的圖片指的的是採用display:none實現的隱藏效果。

程式碼例項如下:

[HTML] 純文字檢視 複製程式碼
<!DOCTYPE html>
<html>
<head>
<meta charset=" utf-8">
<meta name="author" content="http://www.softwhy.com/" />
<title>螞蟻部落</title>
<script type="text/javascript">
window.onload=function(){
  var img=document.getElementById("img");
  var odiv=document.getElementById("show");
  odiv.innerHTML=img.width;
}
</script>
</head>
<body>
<div id="show"></div>
<img id="img" src="demo/js/img/antzone.jpg" style="display:none">
</body>
</html>

上面的程式碼在IE11以下瀏覽器中,得到的資料時0,而在其他瀏覽器中能夠正確獲取尺寸。

當然正確獲取影像尺寸的方式有很多種,下面分享其中的一種,程式碼例項如下:

[HTML] 純文字檢視 複製程式碼
<!DOCTYPE html>
<html>
<head>
<meta charset=" utf-8">
<meta name="author" content="http://www.softwhy.com/" />
<title>螞蟻部落</title>
<script type="text/javascript">
window.onload=function(){
  var odiv=document.getElementById("show");
  var img=document.getElementById("img");
  img.style.display="block";
  img.style.position="absolute";    
  img.style.left="-10000px";
  img.style.zIndex="-1000";
  odiv.innerHTML=img.width;
}
</script>
</head>
<body>
<div id="show"></div>
<img id="img" src="/demo/js/img/antzone.jpg" style="display:none">
</body>
</html>

通過動態的將圖片顯示,並且將其設定為絕對定位,然後給他一個left屬性值,讓它遠離視線就可以實現此種效果。

相關文章