我正在使用来自http://masonry.desandro.com的Masonry项目,我正在尝试为我的用户创建时间轴效果。
我希望每隔一段时间自动刷新页面(10秒用于测试目的)但遇到了问题。在第一次加载时,它调用getStatus()函数,页面加载完美。但是在10秒之后,数据被重新加载并且masory被打破。
我想我尝试了每个组合时间来调用和调用库,但似乎没有任何效果。任何想法我如何让砌体每次都重新加载内容。当新数据(HTML)传递到页面时,基本上是否正确重建?我知道我这样做是错的,但这是我脚本块中的内容。
<script>
container = document.querySelector('#timeline-list');
msnry = new Masonry( container, {
// options
columnWidth: '.col-sm-6',
itemSelector: '.col-sm-6'
});
function getStatus() {
$.getJSON('/community/get_status', function(data) {
$('div#timeline-list').html(data.content);
msnry = new Masonry( container, {
// options
columnWidth: '.col-sm-6',
itemSelector: '.col-sm-6'
});
});
setTimeout("getStatus()",10000);
}
jQuery(window).load(function(){
getStatus();
if(jQuery(window).width() <= 640 ){
msnry.destroy();
}
// check on resize
jQuery(window).resize(function(){
if(jQuery(this).width() <= 640 )
msnry.destroy();
});
});
</script>
reload函数以HTML格式返回所有col-sm-6 div和数据。
我已经尝试过了.layout和.reloadedItems,但它们似乎都不起作用(或存在于它告诉我的内容。任何想法?谢谢!
答案 0 :(得分:1)
你能更具体地说“破碎”吗? 也许您需要使用ImagesLoaded Masonry
如果我的记忆对我有用,那么它现在是一个单独的图书馆Images Loaded Source