首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Slick slider -添加类到'slick-active‘

Slick slider -添加类到'slick-active‘
EN

Stack Overflow用户
提问于 2017-05-23 23:06:30
回答 3查看 28.9K关注 0票数 1

我正在与滑块工作。

有没有人知道如何在“slick-active”滑块中添加一个类?

我正在放映3张幻灯片,我希望每张幻灯片都有一个不同的类:一个类用于左侧幻灯片,另一个用于中间,另一个用于右侧幻灯片。

例如,对于活动的左侧幻灯片:“slick- active - left”。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-05-23 23:30:07

简单,只需使用相邻兄弟选择器(+) .slick-active用于第一场比赛,.slick-active + .slick-active用于第二场比赛,.slick-active + .slick-active + .slick-active用于第三场比赛:

代码语言:javascript
复制
.slick-active {
  background: red;
}

.slick-active + .slick-active {
  background: blue;
}

.slick-active + .slick-active + .slick-active {
  background: yellow;
}

相邻同级选择器

former_element + target_element {样式属性}

这称为相邻选择器或下一个同级选择器。它将只选择紧跟在前一个指定元素后面的指定元素。

参考:https://developer.mozilla.org/en/docs/Web/CSS/Adjacent_sibling_selectors

代码语言:javascript
复制
$('.slider').slick({
    slidesToShow: 3,
    slidesToScroll: 1,
    dots: true,
    infinite: true,
    cssEase: 'linear'
});
代码语言:javascript
复制
.slider {
    width: 650px;
    margin: 0 auto;
}

img {
    width: 150px;
    height: 150px;
}

.slick-active {
  background: red;
}

.slick-active + .slick-active {
  background: blue;
}

.slick-active + .slick-active + .slick-active {
  background: yellow;
}
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<link href="https://cdn.jsdelivr.net/jquery.slick/1.3.15/slick.css" rel="stylesheet"/>
<script src="https://cdn.jsdelivr.net/jquery.slick/1.3.15/slick.min.js"></script>

<div class="slider">
  <div>
    <img src="http://kenwheeler.github.io/slick/img/fonz1.png" />
  </div>
  <div>
    <img src="http://kenwheeler.github.io/slick/img/fonz2.png" />
  </div>
  <div>
    <img src="http://kenwheeler.github.io/slick/img/fonz3.png" />
  </div>
  <div>
    <img src="http://kenwheeler.github.io/slick/img/fonz1.png" />
  </div>
  <div>
    <img src="http://kenwheeler.github.io/slick/img/fonz2.png" />
  </div>
  <div>
    <img src="http://kenwheeler.github.io/slick/img/fonz3.png" />
  </div>
</div>

票数 4
EN

Stack Overflow用户

发布于 2017-05-23 23:13:31

您可以不向每个滑块添加类,而是已经使用子选择器将它们作为目标,将左侧幻灯片第n个子幻灯片(1)、中间幻灯片第n个子幻灯片(2)和最后一个幻灯片第n个子幻灯片(3)作为目标。下面是CSS:

代码语言:javascript
复制
.slick-active: nth-child (1) {
/* Your CSS here */
}

更新为CSS解决方案没有解决问题,因为幻灯片类是通过JS添加的。您可以使用jQuery来确定幻灯片的目标。只要确保它在JS文件之后加载即可。

代码语言:javascript
复制
<script>
jQuery('.slick-active:nth-child(1)').addClass('first-slide');
</script>
票数 0
EN

Stack Overflow用户

发布于 2017-09-18 10:03:34

我认为实现目标的最好的原生方法应该是这样的:

代码语言:javascript
复制
$('#your-slider-element').slick({/configuration-object/}).on('beforeChange', function(event, slick, currentSlide, nextSlide){
 $(this).find('.slick-slide[data-slick-index="'+nextSlide+'"]').addClass('customClass');
 $(this).find('.slick-slide[data-slick-index="'+currentSlide+'"]').removeClass('customClass');
});

在移动到新幻灯片之前,不要忘记删除您的自定义类!参考:http://kenwheeler.github.io/slick/ -搜索beforeChange

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44138587

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档