首頁 > web前端 > js教程 > js判斷圖片載入完成後取得圖片實際寬高的方法_javascript技巧

js判斷圖片載入完成後取得圖片實際寬高的方法_javascript技巧

WBOY
發布: 2016-05-16 15:13:39
原創
1315 人瀏覽過

本文實例講述了js判斷圖片載入完成後獲取圖片實際寬高的方法。分享給大家參考,具體如下:

通常,我們會用jq的.width()/.height()方法取得圖片的寬度/高度或用js的.offsetwidth/.offsetheight方法來取得圖片的寬度/高度,但這些方法在我們通過樣式設定了圖片的寬高後獲取的就不是圖片的實際寬高,這顯然在有些時候不是我們想要的結果,那麼有沒有一種方法來獲取這樣的實際寬高呢?答案是有的。下面的程式碼就能解決這樣的問題:

<img src="01.jpg" id="test" width="250px">

登入後複製

js code:

//图片加载完成后获取图片实际宽高
var _test = document.getElementById("test");
test.onload = function(){
  imgSize.call(_test);
}
function imgSize(){
  var imgObj = new Image();
  imgObj.src = this.src;
  alert(imgObj.width + "\n" + imgObj.height);
}

登入後複製

如果想在其他方法中呼叫這個實際的寬高,應該將alert(imgObj.width + "n" + imgObj.height);改為return imgObj,然後是呼叫的方法:

window.onload = function(){
    function a(){
      var real= imgSize.call(_test);
      var realwidth = real.width;
      alert(realwidth);
    }
    a();
}

登入後複製

以上方法過於繁瑣,經過本人的提煉,簡寫如下:

window.onload = function(){
    var _test = document.getElementById("test"); //若是jq,则直接将此代码换成 var _test = $("#test"); 即可。
    var imgObj = new Image();
    imgObj.src = _test.src; //若是jq,则直接将此代码换成 imgObj.src = _test.attr("src"); 即可。
    alert(imgObj.width);
}

登入後複製

這樣,就可以在其他方法裡直接呼叫圖片的實際寬高了。

更多關於JavaScript相關內容有興趣的讀者可查看本站專題:《JavaScript查找演算法技巧總結》、《JavaScript動畫特效與技巧匯總》、《JavaScript錯誤與調試技巧總結》、《JavaScript資料結構與演算法技巧總結》、《JavaScript遍歷演算法與技巧總結》及《Java數學運算用法總結

希望本文所述對大家JavaScript程式設計有所幫助。

相關標籤:
js
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板