Owl Carohausel onChange 仅在页面更改时触发

Owl Carohausel onChange triggering only on page change

我正在使用 Owl 轮播 2,每页设置 3 个项目。我想在发生幻灯片事件时 select 每第二个项目,因为我模糊了第一个和第二个项目并使唯一的第二个可见。

我正在使用这段 jQuery 代码来实现:

$("#service-slider .active:eq(1)").addClass("myActive");

这就是我启动 Owl 轮播的方式:

$("#service-slider").owlCarousel({
    loop: true,
    margin: 10,
    nav: true,
    dots: false,
    autoplay: true,
    autoplayTimeout: 5000,
    autoplayHoverPause: false,
    smartSpeed: 1500,
    onChange: activeSelect(),
    onDrag: activeSelect(),
    onTranslate: activeSelect(),
    responsive: {
        0: {
            items: 1
        },
        600: {
            items: 1
        },
        1000: {
            items: 3
        }
    }
});

$("#service-slider .active:eq(1)").addClass("myActive");

function activeSelect() {
    $("#service-slider .active").removeClass("myActive");
    $("#service-slider .active:eq(1)").addClass("myActive");
}

var owl = $('#service-slider');
owl.owlCarousel();
owl.on('next.owl.carousel', function (event) {
    $("#service-slider .active").removeClass("myActive");
    $("#service-slider .active:eq(1)").addClass("myActive");
});
owl.on('prev.owl.carousel', function (event) {
    $("#service-slider .active").removeClass("myActive");
    $("#service-slider .active:eq(1)").addClass("myActive");
});

它第一次运行良好,但是当一个项目转换时它不工作;仅在整个页面发生变化时起作用。

这是一个fiddle:https://jsfiddle.net/iCromwell/mpoxf9rc/1/

user7290573 找到了解决方案。您可以使用 Owl Carousel 的 center 选项来实现我想要的。他的 fiddle 可以在这里找到:https://jsfiddle.net/y2xhr4dk/

$("#service-slider").owlCarousel({
    loop: true,
    margin: 10,
    nav: true,
    dots: false,
    center: true,
    autoplay: true,
    autoplayTimeout: 5000,
    autoplayHoverPause: false,
    smartSpeed: 1500,
    responsive: {
        0: {
            items: 3
        },
        600: {
            items: 3
        },
        1000: {
            items: 3
        }
    }
});