Если у вас в блоках имеются картинки, используйте
imagesLoaded, пример есть на сайте Masonry.
Вот кусок кода из старого проекта:
Инициализация масонри:
masonry: function () {
var _this = this;
this.$grid = $('.feed').masonry({
itemSelector: '.box-message',
transitionDuration: 0
});
this.$grid.imagesLoaded().progress(function () {
_this.$grid.masonry('layout');
});
}
Добавление новых элементов:
this.$grid.prepend(_this.$newFeeds).imagesLoaded().progress(function () {
_this.$grid.masonry('reloadItems').masonry('layout', _this.$newFeeds);
});