Есть блок (продукты). Когда я до него доскраливаю, я отключаю скролл у библиотеки locomotive.js и фиксирую сам блок. Затем у меня включается рендер (при помощи owl-carousel). Когда я долистываю до последнего слайда в блоке, мне нужно обратно включать скролл и убирать фиксацию блока. Не могу это сделать. Вот код
// тут инициализирую библиотеку локомотив
const scrollMainScreen = new LocomotiveScroll({
el: document.querySelector('[data-scroll-container]'),
smooth: true,
multiplier: 1,
getDirection: false,
});
scrollMainScreen.on('scroll', function(obj) {
const productRender = document.querySelector('.products'); // получаю блок с продуктом
const productRenderRect = productRender.getBoundingClientRect(); // получаю координаты
if (productRenderRect.top <= 0) {
productRender.classList.add('fixed'); // фиксирую блок
scrollMainScreen.stop(); // отключаю скролл страницы
$('.owl-carousel').on('changed.owl.carousel', function(event) {
var lastSlide = event.item.index + 1; // последний слайд (использую RTL - поэтому последний слайд - 0. Прибавляю + 1, для наглядности)
if(lastSlide === 1) { // если последний слайд = 1, то отключаю скролл и убираю фиксацию. Но при этом предыдущее условие ( if (productRenderRect.top <= 0)) продолжает отрабатывать и scrollMainScreen все равно получает метод stop();
productRender.classList.remove('fixed');
scrollMainScreen.start();
}
});
} else {
productRender.classList.remove('fixed');
}
});
Подскажите что можно сделать?
Переменной productRenderRect присвоить пустую строку нельзя, ибо это геттер((