Isotope 提供了两个可以提供回调函数的地方:
container.isotope({
itemSelector: itemSelector,
layoutMode: 'fitRows',
onLayout: function() {alert('onLayout callback')}
}, function() {alert('anon callback')});
我不知道这两者之间的区别是什么——它们似乎都只在布局完成后被调用一次。我查看了文档,但我能找到的只是
Similiar to a callback, onLayout is a function that will be triggered after every time an Isotope instance runs through its layout logic.
最佳答案
根据source code , 没有区别。布局完成时可能会调用三个回调函数:将最后一个参数传递给 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()
如果它是一个函数,则按顺序调用每一个。
关于javascript - 同位素回调函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9379911/