Скролл к секциям, совместно со скроллом слайдов

Всем привет, есть код плавной прокрутки к секциям, по сути прокручивает только 3 секции со всей страницы, но на второй секции есть слайдер, когда прокручиваешь к слайдеру, сначала должны пролистать слайды, только потом скролл должен идти ниже, код со скроллом работает без проблем, проблема возникла в следствии прикрутки к этому слайдера, проблема в том что иногда слайдер начинает прокручиваться везде, то есть не важно на какой секции мы находимся, так же вторая проблема что почему то после первой прокрутки всех слайдов, обработчик почему-то считает одно прокручивание колеса за два сразу и пропускает средний слайд, прикладываю сам js код, там вроде и без html все понятно,основной вопрос где обработчик прокрутки колеса мыши может работать некорректно?

// Определяю переменные с высотой блоков
    var mainH = $('#main').offset().top,
        productsH = $('#products').offset().top,
        servicesH = $('#services').offset().top,
        aboutH = $('#about').offset().top,
        scrollOffset = $(window).scrollTop(); // Высота для сравнения
    // Устанавливаю классы для карусели (Вселго 3 слайда)
    $('.products__slider').on('changed.owl.carousel', function(e) {
        if (e.item.index == 0) {
            $('.owl-item').addClass('first');
            $('.owl-item').removeClass('last');
        } else if (e.item.index == 2) {
            $('.owl-item').addClass('last');
            $('.owl-item').removeClass('first');
        }
    });
    // Скролл колесом мыши
    $(window).bind('mousewheel', function(event) {
        if (event.originalEvent.wheelDelta >= 0) {
            if (scrollOffset == productsH) {
                console.log('скролим слайдер вверх');
                scrollSliderTop();
            } else if (scrollOffset == servicesH) {
                console.log('скролим к productsH');
                scrollTo(productsH);
            }
        }
        else {
            if (scrollOffset == mainH) {
                console.log('скролим к productsH');
                scrollTo(productsH);
            } else if (scrollOffset == productsH) {
                console.log('скролим слайдер вниз');
                scrollSliderBottom();
            } else if (scrollOffset == servicesH) {
                console.log('скролим к about');
                scrollTo(aboutH);
            }
        }
    });
    // Функция плавного скролла
    function scrollTo(section) {
        var blcokOffset = section;
        $("html, body").animate({
            scrollTop: blcokOffset
        });
    }
    // Функция скролла слайдов
    function scrollSliderTop() {
        if ($('.products__slider .owl-item').hasClass('last')) {
            console.log('has last');
            $('body').css('overflow', 'hidden');
            owlOne.on('mousewheel', '.owl-stage', function (e) {
                if (e.deltaY > 0) {
                    owlOne.trigger('prev.owl');
                }
                e.preventDefault();
            }); // Если проскролили к первому слайду идем на сецию выше
        } else if ($('.products__slider .owl-item').hasClass('first')) {
            console.log('hasnt last');
            $('body').css('overflow', 'auto');
            console.log('скролим к mainH');
            scrollTo(mainH);
        }
    }
    function scrollSliderBottom() {
        if ($('.products__slider .owl-item').hasClass('first')) {
            console.log('has first');
            $('body').css('overflow', 'hidden');
            owlOne.on('mousewheel', '.owl-stage', function (e) {
                if (e.deltaY >0 ) {
                    owlOne.trigger('next.owl');
                }
                e.preventDefault();
            }); // Если проскролили к последниму слайду идем на сецию ниже
        } else if ($('.products__slider .owl-item').hasClass('last')) {
            console.log('hasnt first');
            $('body').css('overflow', 'auto');
            console.log('скролим к servicesH');
            scrollTo(servicesH);
        }
    }
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>


Ответы (0 шт):