var classname = '.slider-news';
var settings = {
speed: 1000,
observer: true,
spaceBetween: 50,
}
s6 = new Swiper($(classname + ' .swiper-container'), settings);
$(function() {
$('' + ajaxFormSelector + '').submit(function() {
return false;
});
$(''+ajaxFormSelector+' select').change(function() {
ajaxMainFunction();
});
function ajaxMainFunction() {
$.ajax({
data: $(ajaxFormSelector).serialize()
}).done(function(response) {
var $response = $(response);
$(ajaxContainerSelector).fadeOut(fadeSpeed);
setTimeout(function() {
$(ajaxContainerSelector).html($response.find(ajaxContainerSelector).html()).fadeIn(fadeSpeed);
ajaxCount();
}, fadeSpeed);
console.log('1');
});
}
});
// К примеру это моя инициализация слайдера в другом файле
const swiper = new Swiper('.swiper', {
observer: true, //обязательно
observeParents: true, //обязательно
observeSlideChildren: true, //обязательно
// ...
});
// И здесь же запускаю слушатель событий повторно инициализирую
swiper.on('observerUpdate', function () {
console.log('DOM изменился ');
const swiper = new Swiper('.swiper', {
// ...
});
});
observerUpdate
, вы столкнётесь с сотнями повторений выполнения функции, для решения проблемы достаточно сделать повторную инициализацию после ajax запросаfunction loadProjectsPostType(category) {
$.ajax({
url: '/wp-admin/admin-ajax.php',
type: 'POST',
cache: true, // включить кэширование
data: {
action: "load_projects",
category
},
beforeSend: () => $('.loader').addClass('active'),
success: function (data) {
$('.loader').removeClass('active');
$('.projects__items').html(data);
const projectSliders = document.querySelectorAll('.project-slider')
projectSliders && projectSliders.forEach(slider => {
let projectSlider = new Swiper(slider, {
observer: true,
observeParents: true,
observeSlideChildren: true,
navigation: {
nextEl: slider.querySelector('.swiper-button-next'),
prevEl: slider.querySelector('.swiper-button-prev'),
},
spaceBetween: 20,
slidesPerView: 1,
})/* projectSlider */
}) /* forEach */
},
error: function(xhr, status, error) {
$('.error').addClass('active')
console.log("Ошибка запроса. Код ошибки: ",error);
}
})
}