在我的主页上,我使用了 mixitup:
var containerEl = document.querySelector('.gallery-container');
var mixer = mixitup(containerEl, {
selectors: {
control: '[data-mixitup-control]'
},
load: {
filter: '.engagement-ceremony'
}
});
我从他们的网站上得到了这个。它工作正常,但是当我转到另一个页面时,我在控制台中收到此错误:
Uncaught Error :[MixItUp] 将无效的选择器或元素引用传递给了 mixitup 工厂函数
,它导致我在页面上的其他 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
有条件地将其加载到我的主页上。一个困扰我的骇人听闻的修复程序,但这是唯一可行的方法。
最佳答案
// 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
语句中。
关于javascript - 在没有过滤的页面上进行 mixitup 过滤时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45145190/