Isotope提供了两个可以提供回调函数的地方:
container.isotope({
itemSelector: itemSelector,
layoutMode: 'fitRows',
onLayout: function() {alert('onLayout callback')}
}, function() {alert('anon callback')});
我不知道这两者之间的区别是什么 - 在布局完成后,它们似乎都被称为恰好一次。我查看了文档,但我能找到的只是
与回调类似,onLayout是每次Isotope实例运行其布局逻辑后都会触发的函数。
答案 0 :(得分:5)
根据source code,没有区别。布局完成时可以调用三个回调函数:在isotope()
的最终参数中传递的函数,在onLayout
选项中传递的函数和在complete
成员中传递的函数{1}}选项。
来源的相关部分是:
animationOptions
正如您所看到的,一个数组是使用三个潜在的回调构建的,如果它是一个函数,// [...]
} else if ( callback || onLayout || animOpts.complete ) {
// has callback
var isCallbackTriggered = false,
// array of possible callbacks to trigger
callbacks = [ callback, onLayout, animOpts.complete ],
instance = this;
triggerCallbackNow = true;
// trigger callback only once
callbackFn = function() {
if ( isCallbackTriggered ) {
return;
}
var hollaback;
for (var i=0, len = callbacks.length; i < len; i++) {
hollaback = callbacks[i];
if ( typeof hollaback === 'function' ) {
hollaback.call( instance.element, $elems );
}
}
isCallbackTriggered = true;
};
// [...]
}
会按顺序调用每个回调。