2

我正在将我的网站从 Masonry 2 升级到 Masonry 3。

在 Masonry 2 中,我正在使用

$(window).bind('smartresize.masonry', function() {
 //recalculate my container width
});

在这个页面http://masonry.desandro.com/appendix.html#upgrading-from-v2 他们说“smartresize jQuery 插件已被删除”,没有更多解释。

smartresize.masonry 对我来说是完美的,它允许我重新计算我的容器宽度,并且砌体适合这个新的宽度,没有延迟。

现在有了 v3,我正在做:

container.masonry('bindResize');

$(window).resize(function() {
 //recalculate my container width
});

这些是 2 个独立的事件,它们之间有一个小的延迟。似乎 bindResize 的调用频率与 $(window).resize() 不同,我错了吗?

有没有办法完全按照 smartresize 所做的那样做?

4

1 回答 1

0

这个新砌体的坏处是没有像 onBeforeResize 和 onAfterResize 这样的东西。我安装了插件 smartresize (debouncedresize) 并禁用了 Masonry 的调整大小事件 container.masonry('unbindResize'); 然后我在我自己的调整大小函数中刷新砌体的布局。

于 2013-08-12T20:45:12.027 回答