如何从jquery json解析中获取图像大小?我放了each function
,首先将所有图片下载到html部分,然后尝试使用width()
& height()
到图片大小,但我遇到了width()
& height()
位于图像加载之前。
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>
答案 0 :(得分:0)
为每个图像调用从.width()
函数访问图像的.height()
和onload
的函数。图像下载完成后会调用onload
。
myImage.onload = function() {
var accurateWidth = myImage.width();
}
答案 1 :(得分:0)
绑定到图像加载事件:
$('.images').bind('load', function () {
// do something here
});
这是您的小提琴更新以演示:http://jsfiddle.net/7eLj4/5/