2010-08-30 68 views
0

我有這個下面的代碼jQuery的每onload事件問題

$(function() { 
    $.post("fetch_data.php?url="+$('#url').val(), { }, function(response){ 
     var arrValues = [ "path/to/img1", "path/to/img2", "path/to/img3", "path/to/img4" ]; //output from php 
     var img = new Image(); 
     $.each(arrValues, function(intIndex, objValue) { 
      img.src = objValue; 
      img.onload = function() { 
      alert('height: ' + img.height + ' width: ' + img.width); 
      } 
     }); 
    }); 
}); 

我在javascript/jquery的新,這個代碼僅返回最後一個(「路徑/到/ IMG4」)圖像的高度/寬度。

如何讓它返回數組的所有圖像和寬度?

回答

1

我想你必須建立四個圖像元素......你必須修改代碼有點

嘗試婁代碼,

$(function() { 
    $.post("fetch_data.php?url="+$('#url').val(), { }, function(response){ 
     var arrValues = [ "path/to/img1", "path/to/img2", "path/to/img3", "path/to/img4" ]; //output from php 

     $.each(arrValues, function(intIndex, objValue) { 
     var img = new Image(); //creating number of Image Elements equal to arrValues length 
      img.src = objValue; 
      img.onload = function() { 
      alert('height: ' + img.height + ' width: ' + img.width); 
      } 
     }); 
    }); 
}); 
+0

耶,運作良好。謝謝 – cicakman 2010-08-30 13:17:41

0

由於參數IMG是你的循環之外定義的,它只會點到最後IMGü創建..

嘗試申報$。每個循環內的IMG ...

和替換與此IMG在警報..