Events

作成日: 2018-09-25

slick1.4では、コールバックメソッドは廃止され、イベントに置き換えられました。 以下のように、slickの初期化の前に使用してください。

// スワイプイベント
$('.your-element').on('swipe', function(event, slick, direction){
  console.log(direction);
  // left
});

// エッジにぶつかった
$('.your-element').on('edge', function(event, slick, direction){
  console.log('edge was hit')
});

// スライドが変わる前
$('.your-element').on('beforeChange', function(event, slick, currentSlide, nextSlide){
  console.log(nextSlide);
});

デモ

スライド切り替え時に指定したイベントが発生した場合にその内容を表示します。

1

2

3

JavaScript
$(document).ready(function(){
  // スワイプイベント
  $('.slider').on('swipe', function(event, slick, direction){
    $('.swipe').text('swipe : ' + direction);
  });

  // 端のスライドから更に先に移動させようとした場合のイベント
  $('.slider').on('edge', function(event, slick, direction){
    $('.edge').text('edge : 一番端のスライドです。');
  });

  // スライドが変わる前のイベント
  $('.slider').on('beforeChange', function(event, slick, currentSlide, nextSlide){
    $('.beforeChange').text('beforeChange : ' + nextSlide);
  });

  $('.slider').slick({
    infinite: false,
  });
});
HTML
<div class="slider">
  <p>1</p>
  <p>2</p>
  <p>3</p>
</div>
<div class="events">
  <div class="swipe"></div>
  <div class="edge"></div>
  <div class="beforeChange"></div>
</div>
CSS
.slick-prev:before,
.slick-next:before {
  color: #000 !important;
}

.slider p {
  font-size: 2rem;
  font-weight: bold;
  line-height: 100px;
  color: #666;
  margin: 10px;
  text-align: center;
  background-color: #e0e0e0;
}

© 2017 Ken Wheeler Licensed under the MIT license

このコンテンツはKen Wheeler(kenwheeler)によるslickドキュメントを翻訳/改変したものです。