MENU

コラム|東京都千代田区|GIGA株式会社

COLUMN
コラム

【CSS】slick.jsでautoplayが止まる現象の対策案

slick.jsでスライドを滑らかに動かすオプション

「slick.js」には様々なオプションがあり、スライダーを作る上でとても便利ですが、
「autoplayを使うとスマホスクロール時に停止する」という現象は、よく遭遇する問題として挙げられます。
公式のオプションとして、「ホバー時にautoplayが止まらないようにする」というものが存在しますが、スマホでは効かない場合があり、困ったものです。
下記コードを追加して解決する場合もありますので、試してみてください。


pauseOnFocus: false,
pauseOnHover: false,
pauseOnDotsHover: false,

 

touchmove時にslickを再起動する設定を追記する

touchmoveイベント時にslickをスタートする設定を追記する方法で動かしてみましょう。


$('.slide_target').on('touchmove', function(event, slick, currentSlide, nextSlide){
$('.slide_target').slick('slickPlay');
});

 

上記方法で停止問題は解決しますが、スライド中は停止したり、touchmoveが重複して何回もスタートし直したりして重くなったりと、まだスッキリ完全解決とは言い切れない状態です。

 

要件によってはCSSの「pointer-events」で解決できる

もしスライダーがバナー等のリンクが必要ないのであれば、こちらの方法が一番キレイに解決できるはずです。
ぜひお試しください。


.slide_target {
  pointer-events: none;
}
PAGETOP