1

如何从 jquery json 解析中获取图像大小?我放了一个each function,首先将所有图像下载到 html 部分,然后尝试使用width()&来调整图像大小,但是在图像加载之前height()我遇到了一些麻烦width()height()

http://jsfiddle.net/7eLj4/中的示例代码

jQuery代码:

$(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代码:

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

2 回答 2

0

从每个图像的函数调用访问图像的.width().height()的函数。图像下载完成后会调用。onloadonload

myImage.onload = function() {
    var accurateWidth = myImage.width();
}
于 2012-04-07T23:28:36.700 回答
0

绑定到图片加载事件:

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

这是您更新的小提琴以演示:http: //jsfiddle.net/7eLj4/5/

于 2012-04-07T23:28:39.453 回答