我有一个流体宽度主题,我正在使用 jQuery Masonry 和 Infinite Scroll。问题是,如果您以一定的速度(不太快也不太慢)滚动页面,可能会导致网格中断。我只在 Firefox 中看到了两列:
有谁知道为什么会这样?我知道这可能是很多事情,但如果有人有这方面的经验并且知道发生了什么,那将有很大帮助。
更新:中断发生在页面上的最后一个帖子之后。后面的那些是由无限滚动的回调生成的。
我有一个流体宽度主题,我正在使用 jQuery Masonry 和 Infinite Scroll。问题是,如果您以一定的速度(不太快也不太慢)滚动页面,可能会导致网格中断。我只在 Firefox 中看到了两列:
有谁知道为什么会这样?我知道这可能是很多事情,但如果有人有这方面的经验并且知道发生了什么,那将有很大帮助。
更新:中断发生在页面上的最后一个帖子之后。后面的那些是由无限滚动的回调生成的。
好吧,我看不到要查看的页面链接(并且图像不可用),但是根据我过去的砌体经验,每当页面大小发生重大变化时(重新调整大小、滚动、重新调整大小) divs) 你需要再次触发它:
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
});
});
});
将此添加为无限滚动的回调,您的问题将消失......至少对我有用:
// 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
以防万一您更改了它。