我有以下功能:
namespace.utils.pageReorder(feed, function() {
console.log('complete');
// do some stuff here no reorder has completed
});
-------------
pageReorder: function(feed, callback) {
feed.masonry('reloadItems');
feed.masonry('layout');
callback();
},
我需要做的是只在砌体布局完成后才调用回调。我知道砌体有以下方法,但我不知道如何将它集成到我的函数中。
msnry.on( 'layoutComplete', function() {
console.log('layout is complete, just once');
return true;
});
由于 皮特
答案 0 :(得分:2)
pageReorder: function(feed, callback) {
feed.masonry('reloadItems');
feed.masonry('layout');
feed.on( 'layoutComplete', function() {
callback();
});
},
这应该有效,根据经验,砌体的layoutComplete不能总是被信任。
答案 1 :(得分:2)
我发现在布局之前注册事件监听器时它最可靠。
假设feed是一个jquery元素:
feed.masonry({
isInitLayout: false,
transitionDuration: 0,});
var msnry = feed.data('masonry');
msnry.on( 'layoutComplete', function() {
console.log('layout is complete, just once');
});
msnry.layout();