javascript - 同位素回调函数

标签 javascript jquery jquery-isotope

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/

相关文章:

javascript - 同位素容器 - 单击时显示

javascript - 如何让 AngularJS 不给 hash-fragment 添加 "/"前缀

javascript - cy.load() 元素丢失

javascript - 获取很多复选框的值,然后通过foreach循环打印出来

用于过滤问题的 Jquery 同位素

jquery - 需要帮助将我的同位素容器居中

javascript - 您将在 JavaScript 网络应用程序中使用的第三方 API ApiKey 存储在哪里?

javascript - 使用node.js通过外部脚本更新HTML?

javascript - 使用 jQuery 在预制/单独页面之间滑动

javascript - 函数中的 if/else 语句 : using onclick as a switch