2012-03-06 120 views
2

我使用Jquery獲取圖像的寬度,一旦它被附加到主體。看看this fiddle瞭解我在做什麼。從縮放圖像獲取寬度

我想要做的是添加一個約束高度的每個元素,並讀取相應的寬度後,它是縮放一次。你會看到的問題是,console.log給我的寬度值爲0。

回答

4

使用jQuery .load()函數來完成圖像加載後,所有的計算:

變種數= 0;

$(document).ready(function(){ 
    setInterval(function(){ 
     console.log(); 
     $('.container').prepend(
      $('<img/>').attr({ 
      src: "http://www.upress.umn.edu/book-division/images-1/other images/blockc.gif/image_thumb" 
      id:'img' + (number++) 
}).load(function(){ 
console.log($(this).width()) 
}) 
    },3000); 
});​ 
1

http://jsfiddle.net/w7rcn/

的寬度是「讀」的形象可以完全下載之前。

所以,我們使用相同的概念,但應用它後,IMG加載事件已觸發:

$('#img' + String(number)).load(function() { 
      console.log($(this).width()); 
     }); 
1

Mohsen and Justice是對的。不過,你仍然可以簡化一下:

var number = 0; 
$(document).ready(function(){ 
    setInterval(function(){ 
     console.log(); 
     $('.container').prepend($('<img ' 
       + 'id="img'+number+'"src="http://www.upress.umn.edu/' 
       + 'book-division/images-1/other-' 
       + 'images/blockc.gif/image_thumb">').load(function() { 
      console.log($(this).width());    
     })); 
     number++; 
    }, 3000); 
});​