在没有过滤的页面上进行mixitup过滤时出错

时间:2017-07-17 13:08:32

标签: javascript jquery mixitup

在我的主页上,我使用这个混合工作:

var containerEl = document.querySelector('.gallery-container');
    var mixer = mixitup(containerEl, {
        selectors: {
            control: '[data-mixitup-control]'
        },
        load: {
            filter: '.engagement-ceremony'
        }
    });

我从他们的网站上得到了这个。它运行正常,但是当我转到另一个页面时,我在控制台中收到此错误: Uncaught Error: [MixItUp] An invalid selector or element reference was passed to the mixitup factory function并且它导致页面上的其他js中断。

我以为我会试着看看会发生什么:

var mixer = mixitup('.gallery-container', {
        selectors: {
            control: '[data-mixitup-control]'
        },
        load: {
            filter: '.engagement-ceremony'
        }
    });

但后来我收到了这个错误:Uncaught Error: [MixItUp] The provided selector yielded no container element

我很难过为什么会出现这种错误。

修改 因此,我能够正常运行而没有错误的唯一方法是使用这部分mixitup脚本并使用php有条件地将其加载到我的主页上。一个困扰我的hacky修复,但它是唯一可行的方法。

1 个答案:

答案 0 :(得分:3)



// Gallery Filtering
    var containerEl = document.querySelector('.gallery-container');
    var mixer;

    if (containerEl) {
        mixer = mixitup(containerEl, {
             selectors: {
                 control: '[data-mixitup-control]'
             },
             load: {
                 filter: '.engagement-ceremony'
             }
        });
    }




我必须将脚本包装在if语句中。