根据源代码,没有区别。布局完成时可能会调用三个回调函数:一个在最后一个参数中传递给isotope()
,一个在onLayout
选项中传递,一个在选项complete
成员中传递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;
};
// [...]
}
如您所见,数组是由三个潜在的回调构建的,callbackFn()
如果它是一个函数,则依次调用每个回调。