我有一个流畅的宽度主题,我正在使用jQuery Masonry和Infinite Scroll。问题是如果你以一定的速度(不是太快而不是太慢)滚动页面,它可能会导致网格中断。我在Firefox中只看到了两个列:
任何人都知道为什么会这样吗?我知道这可能是一些事情,但如果有人有这方面的经验并知道发生了什么,那将有很大帮助。
更新: 中断发生在页面上的最后一篇文章之后。接下来的是由无限滚动的回调生成的。
答案 0 :(得分:2)
好吧,我无法看到您要查看的页面的链接(并且图片不可用),而是根据我过去的砌体经验,只要页面大小发生重大变化(重新调整大小,滚动,重新调整大小的div)你需要再次触发它:
jQuery(document).ready(function() {
jQuery("#somediv").click(function() {
jQuery('#leftcol').toggle(700); //div resizing start here
jQuery('#somediv2').toggleClass("minside");
jQuery('#somediv').toggleClass("full"); // evoke again after change..
jQuery('#container').masonry({
itemSelector : '.item',
columnWidth : 240
});
});
});
答案 1 :(得分:0)
添加此作为无限卷轴的回调,你的问题将会消失......至少对我有用:
// trigger Masonry as a callback
function (newElements) {
// hide new items while they are loading
var $newElems = $(newElements).css({ opacity: 0 });
// ensure that images load before adding to masonry layout
$newElems.imagesLoaded(function () {
// show elems now they're ready
$newElems.animate({ opacity: 1 });
$container.masonry('appended', $newElems, true);
});
});
检查$container
,以防您更改了它。