【jQuery】slick スライド切替時に動画の再生を開始する
動画のスライドショー、ループしていると再生時間と表示時間が噛み合わなくなってくるので、スライドの初めと動画の始めを合わせるやり方。
<ul class="slider">
<li class="slider-item slider-item01">
<video src="images/top/mainvisual.mov" autoplay muted loop>
<img src="images/top/mainvisual_nosup.png">
</video>
</li>
<li class="slider-item slider-item02">
<video src="images/top/mainvisual.mov" autoplay muted loop>
<img src="images/top/mainvisual_nosup.png">
</video>
</li>
<li class="slider-item slider-item03">
<video src="images/top/mainvisual.mov" autoplay muted loop>
<img src="images/top/mainvisual_nosup.png">
</video>
</li>
</ul>
//slick
//適当に読み込み
$('.slider').slick({
fade: true,
autoplay: true,
autoplaySpeed: 3500,
speed: 800,
arrows: false,
dots: false,
lazyLoad: "progressive",
});
//次の動画に切り替わる(現在のスライドが終わる)タイミングで次の動画の再生ポイントを0に指定
$('.slider').on('beforeChange', function (event, slick, currentSlide, nextSlide) {
var video = $(".slick-slide").eq(nextSlide).children("video").get(0);
video.currentTime = 0;
});
slickのbeforeChangeを利用しています。パラメーターの使い方がよくわかっていなくてめちゃめちゃ手こずりました。
参考
- Slick.jsを使ってカルーセルスライダーの中央の画像を大きくする【レスポンシブWebデザインでもOK】 - AGN Web!
http://agn.jp/blog/?p=2355