У меня в данный момент есть какая-то сумасшедшая проблема с MixItUp 3.
Я использую тот же скрипт и функции на домашней странице, а также на подстраницах.
Но только на домашней странице будетпредупреждение после первого процесса фильтрации «ПРЕДУПРЕЖДЕНИЕ: операция была запрошена, но экземпляр MixItUp был занят. Операция была отклонена, поскольку очередь заполнена или очередь отключена.».
Тот же сценарий также находится на подстраницахс теми же данными, но там все отлично работает.
Сайт: https://www.busse -miessen.de / relaunch-2018 / # anwaelte
Сценарий: https://www.busse -miessen.de / relaunch-2018 / wp-content / themes / busse-miessen / js / main.js
Здесь вы можете найти самую важную часть сценария:
var containerEl = document.querySelector('.media_list');
var mixer = mixitup(containerEl);
jQuery('#cat-expertise, #cat-rechtsgebiete').on('selectric-change change', function(e){
if( mixer.isMixing() ) {
console.log('isMixing: ' + mixer.isMixing());
//return;
}
var $val = jQuery('#cat-expertise').val();
var $val2 = jQuery('#cat-rechtsgebiete').val();
console.log('$val: '+ $val +' - - '+'$val2: '+ $val2);
var $filter = false;
if( $val != '0' ) {
//console.log($val);
$filter = '.'+$val;
}
if( $val2 != '0' && $val != '0' ) {
//console.log($val2);
$filter = $filter+', '+'.'+$val2;
} else if( $val2 != '0' ) {
$filter = '.'+$val2;
}
console.log('final filter: '+$filter+' - State: '+mixer.isMixing());
if( $filter ) {
mixer.filter($filter);
} else {
$filter = '.mix';
mixer.filter($filter);
}
});
jQuery('#mix-sorting').on('selectric-change change', function(e){
if( mixer.isMixing() ) {
console.log('isMixing: ' + mixer.isMixing());
//return;
}
var $val = jQuery('#mix-sorting').val();
mixer.sort('name:'+$val);
});
Кажется, что "mixer.filter ($ filter);"(main.js # 120) не может быть завершено, потому что после первого вызова filter () функция isMixing () полностью "истинна", также после завершения MixItUp.
Пример вывода консоли.log () сверху:
main.js:101 $val: cat-bauen-und-immobilien - - $val2: 0
main.js:117 final filter: .cat-bauen-und-immobilien - State: false
main.js:94 isMixing: true
main.js:101 $val: cat-bauen-und-immobilien - - $val2: 0
main.js:117 final filter: .cat-bauen-und-immobilien - State: true
main.js:94 isMixing: true
main.js:101 $val: cat-healthcare - - $val2: 0
main.js:117 final filter: .cat-healthcare - State: true
main.js:94 isMixing: true
main.js:101 $val: cat-healthcare - - $val2: 0
main.js:117 final filter: .cat-healthcare - State: true
main.js:94 isMixing: true
main.js:101 $val: cat-familie - - $val2: 0
main.js:117 final filter: .cat-familie - State: true
plugins.js:48 [MixItUp] WARNING: An operation was requested but the MixItUp instance was busy. The operation was rejected because the queue is full or queuing is disabled.
Обратите внимание, что эта часть в настоящее время только закомментирована для отладки:
if( mixer.isMixing() ) {
console.log('isMixing: ' + mixer.isMixing());
//return;
}
Если я использую ее с «return» там,скрипт перестает работать, потому что "mixer.isMixing ()" имеет значение true все время после первого вызова filter ().