我使用附加的函数将元素附加到一个已经初始化的砌体实例中,但是我的所有瓷砖都是在一个列中布局的,而且很多都是重叠的。你能看出我做错了什么吗?
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 += '<div class="pageNewsItem" id="'+ count + i + '">\
<div class="textWrap">\
<a href="' + news.data[i]._url + '">\
<strong>' + news.data[i]._title + '</strong>\
</a>\
<span class="source">' + news.data[i]._source + '</span>\
</div>\
<div class="imageWrap"></div>\
<div class="thumbsOverlay" style="display:none">\
<div class="thumbs">\
<div>\
<a href="#"" class="up"><img src="../images/Thumbs-Up-2.png" /></a>\
<a href="#"" class="down"><img src="../images/Thumbs-Down-2.png" /></a>\
</div>\
</div>\
</div>\
</div>';
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();
});发布于 2014-12-03 17:02:33
在这一行中,一旦附加了项,就尝试触发layout:
$('#news').masonry( 'appended', elems, true ).masonry('layout');我见过有和没有额外的.masonry()调用的例子,但是它可能会起作用。
https://stackoverflow.com/questions/27277274
复制相似问题