同位素回调函数

时间:2012-02-21 15:09:36

标签: javascript jquery jquery-isotope

Isotope提供了两个可以提供回调函数的地方:

container.isotope({
    itemSelector: itemSelector,
    layoutMode: 'fitRows',
    onLayout: function() {alert('onLayout callback')}

}, function() {alert('anon callback')});

我不知道这两者之间的区别是什么 - 在布局完成后,它们似乎都被称为恰好一次。我查看了文档,但我能找到的只是

  

与回调类似,onLayout是每次Isotope实例运行其布局逻辑后都会触发的函数。

1 个答案:

答案 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; }; // [...] } 会按顺序调用每个回调。