Согласно исходному коду разницы нет. По завершении макета можно вызвать три функции обратного вызова: одну, переданную в последнем аргументе 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()
вызывает каждый из них последовательно, если это функция.