Slick slider нужна помощь?

286
10 января 2018, 19:57

Ребят, есть вот такой вертикальный слайдер сделанный на Slick.

Проблема в том, что высота нашей пагинации ограничена. Например у нас сейчас есть пять слайдов, в пагинацию помещается только 4. То-есть если мы пролистываем до пятого слайда, в пагинации это не отображается, она остается на месте. Можно как-то сделать, чтобы когда мы переключали слайдер на пятый слайд, пагинация тоже делал слайд и переключалась.

https://codepen.io/brezze/pen/xpYLKZ

<div class="slider">
    <div class="slider-wrap">
      <div class="slider__slide">
        <div class="slider__item"></div>
      </div>
      <div class="slider__slide">
        <div class="slider__item"></div>
      </div>
      <div class="slider__slide">
        <div class="slider__item"></div>
      </div>
      <div class="slider__slide">
        <div class="slider__item"></div>
      </div>
      <div class="slider__slide">
         <div class="slider__item"></div>
      </div>
     </div>
  <div class="slider__nav">
    <div class="slider__prev">Up</div>
    <div class="slider__next">Down</div>
  </div>
</div>
 $('.slider-wrap').slick({
   dots: true,
   arrows: false,
   vertical: true,
   verticalSwiping: true,
   customPaging: function(slider, i) {
   var thumb = $(slider.$slides[i]).data();
   return '<a>'+(i+1)+'</a>';
  },
});
Answer 1

вариант ...

$(function() { 
  $(".slider__item").each(function(i) { 
    $("<div><h3>" + ++i + "</h3></div>").appendTo(".slider-nav"); 
  }); 
  $(".slider-wrap").slick({ 
    slidesToShow: 1, 
    asNavFor: ".slider-nav", 
    dots: false, 
    arrows: false, 
    vertical: true, 
    verticalSwiping: true 
  }); 
  $(".slider-nav").slick({ 
    vertical: true, 
    verticalSwiping: true, 
    slidesToShow: 4, 
    slidesToScroll: 1, 
    asNavFor: ".slider-wrap", 
    nextArrow: ".slider__next", 
    prevArrow: ".slider__prev", 
    focusOnSelect: true 
  }); 
});
.slider { 
  display: flex; 
  height: 200px; 
} 
 
.slider-wrap { 
  width: 30%; 
  box-sizing: border-box; 
} 
 
.slider__item { 
  color: #FFF; 
  background: #000; 
  min-height: 300px; 
} 
 
.nav { 
  width: 50px; 
  height: 200px; 
  position: relative; 
  box-sizing: border-box; 
} 
 
.nav .slider-nav { 
  margin-top: 48px; 
} 
 
.slider-nav.slick-vertical div.slick-slide { 
  width: 50px; 
  height: 50px; 
  line-height: 0px; 
  border: 1px solid #ccc; 
  display: block; 
  text-align: center; 
  cursor: pointer; 
} 
 
.slider-nav.slick-vertical .slick-current { 
  background: #000; 
  color: #FFF; 
} 
 
.slider__prev, 
.slider__next { 
  width: 48px; 
  height: 45px; 
  border: 1px solid #ccc; 
  text-align: center; 
  font-weight: bold; 
  line-height: 50px; 
  position: absolute; 
  cursor: pointer; 
} 
 
.slider__prev { 
  top: 0; 
} 
 
.slider__next { 
  top: 255px; 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> 
<link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.8.1/slick.css" /> 
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.8.1/slick.min.js"></script> 
<div class="slider"> 
  <div class="slider-wrap"> 
    <div class="slider__slide"> 
      <div class="slider__item">1</div> 
    </div> 
    <div class="slider__slide"> 
      <div class="slider__item">2</div> 
    </div> 
    <div class="slider__slide"> 
      <div class="slider__item">3</div> 
    </div> 
    <div class="slider__slide"> 
      <div class="slider__item">4</div> 
    </div> 
    <div class="slider__slide"> 
      <div class="slider__item">5</div> 
    </div> 
  </div> 
  <div class="nav"> 
    <div class="slider__prev">Up</div> 
    <div class="slider-nav"></div> 
    <div class="slider__next">Down</div> 
  </div> 
</div>

READ ALSO
Почему count равно 5?

Почему count равно 5?

Почему count равно 5? Когда card === 2, 3, 4, 5, 6 к count надо прибавить +1 Когда card === 7, 8 , 9 к count = 0 Когда card === 10, 'J', 'Q', 'K', 'A' - count - 1

258
Почему 0 &lt;= 0 возвращает false?

Почему 0 <= 0 возвращает false?

Почему card <= 0 возвращает false? var count = 0;

227
Можно ли задать имя свойства объекта переменной ?(js)

Можно ли задать имя свойства объекта переменной ?(js)

Допустим у меня есть переменные field, value и объект form :

229
Как подключить jQuery и Bootstrap используя ES6(Babel)?

Как подключить jQuery и Bootstrap используя ES6(Babel)?

Я хочу подключить jQuery и Twitter Bootstrap к файлу используя babel

224