2012-04-07 10 views
1

Wie bekomme ich die Bildgröße von einem jquery json parse? Ich habe eine each function, zunächst alle Bilder auf den HTML-Teil herunterladen dann versuchen width() & height() auf die Bildgröße zu verwenden, aber ich traf einige Probleme in immer width() & height() sind vor dem Laden von Bildern.Wie bekomme ich Bildgröße von einem jquery json parse?

Beispielcode in http://jsfiddle.net/7eLj4/

jQuery Code:

$(document).ready(function(){ 
    var data = '[{"image":"http:\/\/pcdn.500px.net\/6269271\/a85b2995b4d80748831492be5e8a3689895a2b0e\/4.jpg"},{"image":"http:\/\/pcdn.500px.net\/5953805\/d0dd841969187f47e8ad9157713949b4b95b3bda\/4.jpg"},{"image":"http:\/\/pcdn.500px.net\/5735750\/0dd26cb9f53b7bbbedf1b65c0d0aac013f77466c\/4.jpg"}]'; 
    var obj = $.parseJSON(data); 
    $.each(obj, function(index,item) { 
     $('#imagewrap').append('<img class="images" src="'+item.image+'" />');   
    }); 
    $('.images').each(function(){ 
     var width = $(this).width(); 
     var height = $(this).height(); 
     var imgsrc = $(this).attr('src'); 
     alert(width+''+height+''+imgsrc);   
    }); 
});​ 

HTML-Code:

<div id="imagewrap"></div> 

Antwort

0

binden an die Bildladeereignis:

$('.images').bind('load', function() { 
    // do something here 
}); 

Hier ist Ihre Geige zu demonstrieren aktualisiert: http://jsfiddle.net/7eLj4/5/

0

Aufruf der Funktion, die für jede der .width() und .height() eines Bildes von einer onload Funktion zugreift Bild. onload wird aufgerufen, nachdem das Bild vollständig heruntergeladen wurde.

myImage.onload = function() { 
    var accurateWidth = myImage.width(); 
}