margin = 20; $(window).resize(function() { clearTimeout(window.resizedFinished); window.resizeFinished = setTimeout(function() { masonry(); }, 250); }); var $container = $(".posts"); function masonry() { $container.children().remove(); columnCount = Math.floor($(".posts").width() / 250); /* * Initialise columns. */ var columns = new Array(columnCount); var $columns = new Array(columnCount); for (i = 0; i < columnCount; i++) { $column = $("
").html(this["content"])); shortestColumn = getShortestColumn(columns); shortestColumn[1].append($post); shortestColumn[0] = shortestColumn[0] + $post.height() + margin; }); }); }