Если вы используете jQuery, это решит все ваши проблемы.
Вы включаете масонство в свою html / php страницу примерно так:
<script src="js/masonry.min.js"></script>
<script>
$('#ms-container').masonry({
columnWidth: '.ms-item',
itemSelector: '.ms-item'
});
</script>
Вместо этого оставьте это так:
<script src="js/masonry.min.js"></script>
<script src="js/masonry-init.js"></script>
И создайте файл js/masonry-init.js
со следующим:
$('#ms-container').masonry({
columnWidth: '.ms-item',
itemSelector: '.ms-item'
});
var masonryUpdate = function() {
setTimeout(function() {
$('#ms-container').masonry();
}, 500);
}
$(document).on('click', masonryUpdate);
$(document).ajaxComplete(masonryUpdate);
Никогда не беспокойся об этом снова!