Isotope provides two places where you can supply callback functions:
container.isotope({
itemSelector: itemSelector,
layoutMode: 'fitRows',
onLayout: function() {alert('onLayout callback')}
}, function() {alert('anon callback')});
I don't know what the difference between these two are - they both seem to be called exactly once, after the layout has completed. I've looked through the docs, but all I can find is
Similiar to a callback, onLayout is a function that will be triggered after every time an Isotope instance runs through its layout logic.
According to the source code, there is no difference. Three callback functions may be called when layout completes: the one passed in the final argument to isotope(), the one passed in the onLayout option and the one passed in the complete member of the animationOptions option.
The relevant parts of the source are:
// [...]
} 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;
};
// [...]
}
As you can see, an array is built with the three potential callbacks, and callbackFn() calls each one in sequence if it's a function.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With