【问题标题】:Owl Carousel 2 with mousewheel.js and no loopOwl Carousel 2 带有 mousewheel.js 并且没有循环
【发布时间】:2021-02-04 17:23:54
【问题描述】:

我正在使用带有 mousewheel.js 的 Owl Carousel 2,它运行良好。 我还设法使它工作设置循环:false

当我滚动到最后一张或第一张幻灯片时,我的问题出现了:我的鼠标停止工作,除非我的鼠标位于轮播空间之外,否则我无法滚动页面。当我转到第一张或最后一张幻灯片时,如何使鼠标像往常一样在页面上滚动? 每次到轮播结束还是开始时,是否应该分离并重新附加鼠标滚轮事件侦听器?

到目前为止,这是我的代码:

           let owl = document.getElementsByClassName('owl-stage'),
                nestedChildren = $(this).find('.owl-item').length;

            owl[0].addEventListener('mousewheel', e => {
                var activeSlideIndex= $(this).find('.owl-item.active').index() + 1;
                
                if (e.deltaY > 0 && nestedChildren > activeSlideIndex) {
                    $('.owl-carousel').trigger('next.owl', [0, 300]);
                } else if (e.deltaY < 0 && nestedChildren > activeSlideIndex) {
                    $('.owl-carousel').trigger('prev.owl', [0, 300]);
                }
                e.preventDefault();
            }, false);

【问题讨论】:

    标签: javascript jquery mouseevent owl-carousel mousewheel


    【解决方案1】:

    在您的 if else 语句之前,检查您是否在第一张/最后一张幻灯片上,以及滚动方向是否试图滚动出轮播。如果是这样,请退出 eventListener 并让滚轮正常运行。否则,继续您现有的 if else 语句。

    【讨论】:

      猜你喜欢
      • 2020-07-24
      • 1970-01-01
      • 1970-01-01
      • 2022-01-23
      • 2019-07-09
      • 2021-02-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多