Несколько дней все работало нормально. И сегодня начало перегружать страницу. Даже консоль разработчика не могу открыть. Просто виснет вкладка. В любом браузере. Удаляю этот код и все работает нормально.
суть работы это следить за добавлением класса элементу и подсвечивать стрелки слайдера если условие подходит.
function observeSliderNav(wrapperClass, prevButtonClass, nextButtonClass){
const slides = document.querySelector(`.${wrapperClass}`);
const prevButtonPath = document.querySelector(`.${prevButtonClass} svg path`);
const nextButtonPath = document.querySelector(`.${nextButtonClass} svg path`);
let observer = new MutationObserver( old => {
let childs = slides.childNodes;
let slidesArray = [];
childs.forEach(item => {
if(item.localName === 'div') slidesArray.push(item)
})
slidesArray.forEach((item,index) => {
if(item.classList.contains('swiper-slide-active') || item.classList.contains('smart-active')){
if(index === 0){
prevButtonPath.setAttribute('fill-opacity', '0.3')
nextButtonPath.setAttribute('fill-opacity', '0.8')
}
else if(index !== 0){
prevButtonPath.setAttribute('fill-opacity', '0.8')
nextButtonPath.setAttribute('fill-opacity', '0.8')
}
if(index === slidesArray.length - 1){
nextButtonPath.setAttribute('fill-opacity', '0.3')
}
}
})
})
observer.observe(slides, {
childList: true,
subtree: true,
characterData: true,
attributes: true
})
}
window.addEventListener('load', () => {
observeSliderNav('swiper-wrapper', 'swiper__prev_sett ', 'swiper__next_sett' );
})