Попробуйте это
$(window).load(function(){
var $container = $('#image_gallery');
$container.masonry({
columnWidth: 230,
itemSelector: '.brick'
});
$.ajax({
url: 'url',
type: 'post',
success:function(response){
response = JSON.parse(response);
if(response.thumbs && response.thumbs.length > 0){
$.each(response.thumbs, function(i, img){
var eleHeight = (img.theight/img.twidth)*220;
item += '<div class="brick" style="height:'+eleHeight+'px;width:220px"><a href="#">';
item += '<img src="' + img.thumbUrl + '" /></a></div>';
});
}
var $boxHtml = $(item);
$container.append($boxHtml).masonry('appended', $boxHtml, true);
}
});
});
Вывод JSON на сервере:
{thumbs: [{theight: 250 thumbUrl: "/uploads/thumbs/image.jpg" twidth: 167.1875}]}
Примечание. Настройте свойство columnWidth в соответствии с шириной элемента div.(например, если у кирпича div есть отступы влево и вправо 5px, тогда общая ширина составляет 220 + 10, т.е. 230px, как в приведенном выше коде)