砌体为什么要安排在单列重叠

我正在使用附加函数将元素附加到已经初始化的砌体实例,但是我的所有切片都在一列中布局,而且很多都是重叠的。 你能看出我做错了什么吗?

function placeNewsTiles(news){ //places news tiles var length = (news.data.length > 20) ? 20 : news.data.length; var $container = $('#news'); var elems =""; for(var i = 0; i < length; i++){ elems += '
\
\ \ ' + news.data[i]._title + '\ \ ' + news.data[i]._source + '\
\
\
\
\
\ \ \
\
\
\
'; getTileImage({total: news.count, i:count + "" + i, url:news.data[i]._url}); } elems = $(elems); $('#news').append(elems).imagesLoaded(function(){ $('#news').masonry( 'appended', elems, true ); }); newsPage = 0; count++; hoverTiles(); } $(document).ready(function() { newClock(); readyLogin(); var $container = $('#news'); //$container.imagesLoaded( function() { $container.masonry({itemSelector: '.pageNewsItem'}); //}); obtainSearchQuery(); });

在此行上,尝试在添加项目后触发layout

 $('#news').masonry( 'appended', elems, true ).masonry('layout'); 

我已经看到了带有和不带有额外.masonry()调用的示例,但它可能会有效。