jquery – 如何在Owl Carousel 2中为项添加类?

前端之家收集整理的这篇文章主要介绍了jquery – 如何在Owl Carousel 2中为项添加类?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我的目标是制作一个看起来像这样的旋转木马:

如果你不知道你在看什么,有5个图像/项目,但只有中心的一个以完整尺寸显示.中心旁边的图像较小,外部图像较小.

我在Owl Carousel的第一个版本中实现了这个,但是它不支持循环,这使得这个设计很荒谬(无法到达侧面图像……).

我是这样做的:

var owl = $("#owl-demo");

owl.owlCarousel({
pagination: false,lazyLoad: true,itemsCustom: [
  [0,3],[900,5],[1400,7],],afterAction: function(el){

.$owlItems
   .removeClass('active') //what I call the center class
   .removeClass('passive') //what I call the next-to-center class

   this
   .$owlItems

    .eq(this.currentItem + 2) //+ 2 is the center with 5 items
    .addClass('active')

    this
    .$owlItems

    .eq(this.currentItem + 1)
    .addClass('passive')

    this
    .$owlItems

    .eq(this.currentItem + 3)
    .addClass('passive')
  }

显示5个项目的代码,但我使用了一些if-clauses来使它适用于3和7.活动类只包含宽度:100%和被动宽度:80%.

有谁知道如何在Owl Carousel 2中获得相同的结果?我正在使用_items而不是$owlItems,但我不知道这是否正确.没有afterAction,事件/回调似乎不像在v2中那样工作.

解决方法

你可以这样做:
$(function(){
    $('.loop').owlCarousel({
        center: true,items:5,loop:true,margin:10
    });

    $('.loop').on('translate.owl.carousel',function(e){
        idx = e.item.index;
        $('.owl-item.big').removeClass('big');
        $('.owl-item.medium').removeClass('medium');
        $('.owl-item').eq(idx).addClass('big');
        $('.owl-item').eq(idx-1).addClass('medium');
        $('.owl-item').eq(idx+1).addClass('medium');
    });
});

倾听您选择的事件

List of available events here

在演示中,我只是将类big添加到主项,将类添加到上一个和下一个类.从那里你可以玩你想要的任何css属性.

LIVE DEMO

注意:

您也可以使用插件类,.active和.center(或者您也可以定义自己的插件类,如下所示:custom classes

原文链接:https://www.f2er.com/jquery/181065.html

猜你在找的jQuery相关文章