javascript - Slick Slider 同步多个 slider - 3

标签 javascript jquery slider slick.js

我正在使用 slick Slider Syncing 和 3 个 slider 。使用 2 个 slider 时效果很好,但是当我尝试使用 3 个 slider 和 3 个类时,仍然只有 2 个在工作。

示例 » https://jsfiddle.net/rk0tuoy7/6/

$('.slider-for').slick({
  slidesToShow: 1,
  slidesToScroll: 1,
  arrows: false,
  fade: false,
  asNavFor: '.slider-nav',
  lazyLoad: 'ondemand'
});
$('.slider-x').slick({
  slidesToShow: 1,
  slidesToScroll: 1,
  arrows: true,
  fade: false,
  asNavFor: '.slider-nav',
  lazyLoad: 'ondemand',
  dots: false
});
$('.slider-nav').slick({
  centerMode: true,
  centerPadding: '60px',
  slidesToShow: 5,
  slidesToScroll: 1,
  asNavFor: '.slider-for',
  dots: true,
  focusOnSelect: true,
  lazyLoad: 'ondemand'
});
@import url('//cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.6.0/slick.css');
@import url('//cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.6.0/slick-theme.css');

.slick-slide {
  background: #3a8999;
  color: white;
  padding: 40px 0;
  font-size: 30px;
  font-family: "Arial", "Helvetica";
  text-align: center;
}

.slick-arrow:before {
  color: black;
}

.slick-dots {
  bottom: -30px;
}

.slick-slide:nth-child(odd) {
  background: #e84a69;
}
<div class="slider slider-x">
  <div><h3>2015</h3></div>
  <div><h3>2014</h3></div>
  <div><h3>2013</h3></div>
  <div><h3>2012</h3></div>
  <div><h3>2011</h3></div>
  <div><h3>2010</h3></div>
  <div><h3>2009</h3></div>
  <div><h3>2008</h3></div>
  <div><h3>2007</h3></div>
  <div><h3>2006</h3></div>
  <div><h3>2005</h3></div>
  <div><h3>2004</h3></div>
  <div><h3>2003</h3></div>
  <div><h3>2002</h3></div>
  <div><h3>2001</h3></div>
  <div><h3>2000</h3></div>
  <div><h3>1995</h3></div>
</div>

<div class="slider slider-nav">
  <div><h3>2015</h3></div>
  <div><h3>2014</h3></div>
  <div><h3>2013</h3></div>
  <div><h3>2012</h3></div>
  <div><h3>2011</h3></div>
  <div><h3>2010</h3></div>
  <div><h3>2009</h3></div>
  <div><h3>2008</h3></div>
  <div><h3>2007</h3></div>
  <div><h3>2006</h3></div>
  <div><h3>2005</h3></div>
  <div><h3>2004</h3></div>
  <div><h3>2003</h3></div>
  <div><h3>2002</h3></div>
  <div><h3>2001</h3></div>
  <div><h3>2000</h3></div>
  <div><h3>1995</h3></div>
</div>

<div class="slider slider-for">
  <div><h3>2015</h3></div>
  <div><h3>2014</h3></div>
  <div><h3>2013</h3></div>
  <div><h3>2012</h3></div>
  <div><h3>2011</h3></div>
  <div><h3>2010</h3></div>
  <div><h3>2009</h3></div>
  <div><h3>2008</h3></div>
  <div><h3>2007</h3></div>
  <div><h3>2006</h3></div>
  <div><h3>2005</h3></div>
  <div><h3>2004</h3></div>
  <div><h3>2003</h3></div>
  <div><h3>2002</h3></div>
  <div><h3>2001</h3></div>
  <div><h3>2000</h3></div>
  <div><h3>1995</h3></div>
</div>

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.6.0/slick.js"></script>

最佳答案

asNavFor 选项似乎可以用作普通的 CSS 选择器。您可以列出几个用逗号分隔的类:

$('.slider-for').slick({
  asNavFor: '.slider-nav,.slider-x',
});
$('.slider-x').slick({
  asNavFor: '.slider-for,.slider-nav',
});
$('.slider-nav').slick({
  asNavFor: '.slider-for,.slider-x',
});

我删除了具有默认值的选项。

请检查结果:https://jsfiddle.net/glebkema/b6c2ayeg/

$('.slider-for').slick({
  arrows: false,
  asNavFor: '.slider-nav,.slider-x',
});
$('.slider-x').slick({
  arrows: true,
  asNavFor: '.slider-for,.slider-nav',
});
$('.slider-nav').slick({
  arrows: true,
  asNavFor: '.slider-for,.slider-x',
  centerMode: true,
  centerPadding: '60px',
  dots: true,
  focusOnSelect: true,
  slidesToShow: 5,
});
@import url('//cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.6.0/slick.css');
@import url('//cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.6.0/slick-theme.css');

.slick-slide {
  background: #3a8999;
  color: white;
  padding: 40px 0;
  font-size: 30px;
  font-family: "Arial", "Helvetica";
  text-align: center;
}

.slick-arrow:before {
  color: black;
}

.slick-dots {
  bottom: -30px;
}

.slick-slide:nth-child(odd) {
  background: #e84a69;
}

.slider {
  margin: 0 30px;
}
<div class="slider slider-x">
  <div><h3>2015</h3></div>
  <div><h3>2014</h3></div>
  <div><h3>2013</h3></div>
  <div><h3>2012</h3></div>
  <div><h3>2011</h3></div>
  <div><h3>2010</h3></div>
  <div><h3>2009</h3></div>
  <div><h3>2008</h3></div>
  <div><h3>2007</h3></div>
  <div><h3>2006</h3></div>
  <div><h3>2005</h3></div>
  <div><h3>2004</h3></div>
  <div><h3>2003</h3></div>
  <div><h3>2002</h3></div>
  <div><h3>2001</h3></div>
  <div><h3>2000</h3></div>
  <div><h3>1995</h3></div>
</div>

<div class="slider slider-nav">
  <div><h3>2015</h3></div>
  <div><h3>2014</h3></div>
  <div><h3>2013</h3></div>
  <div><h3>2012</h3></div>
  <div><h3>2011</h3></div>
  <div><h3>2010</h3></div>
  <div><h3>2009</h3></div>
  <div><h3>2008</h3></div>
  <div><h3>2007</h3></div>
  <div><h3>2006</h3></div>
  <div><h3>2005</h3></div>
  <div><h3>2004</h3></div>
  <div><h3>2003</h3></div>
  <div><h3>2002</h3></div>
  <div><h3>2001</h3></div>
  <div><h3>2000</h3></div>
  <div><h3>1995</h3></div>
</div>

<div class="slider slider-for">
  <div><h3>2015</h3></div>
  <div><h3>2014</h3></div>
  <div><h3>2013</h3></div>
  <div><h3>2012</h3></div>
  <div><h3>2011</h3></div>
  <div><h3>2010</h3></div>
  <div><h3>2009</h3></div>
  <div><h3>2008</h3></div>
  <div><h3>2007</h3></div>
  <div><h3>2006</h3></div>
  <div><h3>2005</h3></div>
  <div><h3>2004</h3></div>
  <div><h3>2003</h3></div>
  <div><h3>2002</h3></div>
  <div><h3>2001</h3></div>
  <div><h3>2000</h3></div>
  <div><h3>1995</h3></div>
</div>

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.6.0/slick.js"></script>

关于javascript - Slick Slider 同步多个 slider - 3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41819533/

相关文章:

javascript - Bootstrap- slider 无法加载

jquery - 停止 svg 动画

javascript - 适用于 DIV 的简单 jQuery 幻灯片

javascript - 使用条件和 || 之间的区别在 js 中

javascript - 计算谷歌地图javascript上绘制多边形的面积

jquery - Dynatree .sortChildren

jQuery Slider - 在 Slider 外部滑动链接

Javascript 查找缺失的选择值

php - file_put_contents 在使用 json_encode 时返回 null

jquery - 在点击事件上滑动 slider (Slick Slider)