在我的主页上,我使用这个混合工作:
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修复,但它是唯一可行的方法。
答案 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
语句中。