slick Web制作 スライダー

【slick】ズーム(拡大)しながらフェードで切り替える方法

2022年4月2日

※ 当サイトではアフィリエイト広告を利用しています

slickでズームしながらフェードで切り替える方法ない?

slickには様々なオプションがありますが、ズームさせるオプションはありません。

しかし、CSSのアニメーションを使えば可能です。

今回は、slickを使ってズームしながら、フェードで切り替わるスライダーをご紹介します。

slickの基本的な使い方と、slickを使うのに必要なjQueryの使い方については以下の記事を参照下さい。

あわせて読みたい
レスポンシブ対応のスライダープラグイン slickの使い方
レスポンシブ対応のスライダープラグイン slickの使い方

続きを見る

あわせて読みたい
【初心者向け】jQueryとは?CDNを使った本体の読み込み方についても分かりやすく解説
【初心者向け】jQueryとは?CDNを使った本体の読み込み方も分かりやすく解説

続きを見る

またslickには色々カスタマイズが出来るオプションがあるので、そちらも合わせて活用すると実装出来るスライダーの幅が広がります。

あわせて読みたい
【slick】カスタマイズ用オプションまとめ一覧
【slick】カスタマイズ用オプションまとめ一覧

続きを見る

じゅんぺいブログは、Web制作コーディングWordPress制作)の技術記事を中心に、約500記事公開しています。ぜひ他の記事も参考にしてみてください!
完全無料のプログラミングスクール『ZeroPlus Gate』
30日間でWeb制作を学べる無料のプログラミングスクールがこちら
いきなり数十万するプログラミングスクールは厳しい・・・という人のお試しに最適です。
現在は無料ですがいつ有料になるか分からないので、気になる方はお早めに👇
(有料になっていたらすいません🙇‍♂️)

\ 完全無料 /

ZeroPlus Gate公式サイト

毎日先着制!

slickでズーム(拡大)しながらスライドする方法

それでは、コードの解説をしていきます。

 

HTMLのコード

HTMLの書き方はこちら。

<div class="slider">
  <div class="slick-img">
    <img src="画像パス" alt="" />
  </div>
  <div class="slick-img">
    <img src="画像パス" alt="" />
  </div>
  <div class="slick-img">
    <img src="画像パス" alt="" />
  </div>
</div>

特に変わったところはありません。

 

CSSのコード

CSSの書き方はこちら。

.slider {
  height: 53vw;
  margin-inline: auto;
  overflow: hidden; /* 画像がはみ出ないようにする */
  width: 80vw;
}
.slick-img img {
  width: 100%;
}
@keyframes zoomUp {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.15); /* 拡大率 */
  }
}
.add-animation {
  animation: zoomUp 10s linear 0s normal both;
}

CSSのポイント

  • 全体を囲う要素に overflow: hidden; でズームした画像がはみ出さないようにする
  • @keyframesでズームの拡大率を設定
  • slickの設定で付けたclass名"add-animation"のスタイルを設定

拡大率やズームの時間はここで調整可能です。

 

jQueryのコード

jQueryの書き方はこちら。

$(function () {
  $(".slider")
    // 最初のスライドに"add-animation"のclassを付ける(data-slick-index="0"が最初のスライドを指す)
    .on("init", function () {
      $('.slick-slide[data-slick-index="0"]').addClass("add-animation");
    })
    // 通常のオプション
    .slick({
      autoplay: true, // 自動再生ON
      fade: true, // フェードON
      arrows: false, // 矢印OFF
      speed: 2000, // スライド、フェードアニメーションの速度2000ミリ秒
      autoplaySpeed: 4000, // 自動再生速度4000ミリ秒
      pauseOnFocus: false, // フォーカスで一時停止OFF
      pauseOnHover: false, // マウスホバーで一時停止OFF
    })
    .on({
      // スライドが移動する前に発生するイベント
      beforeChange: function (event, slick, currentSlide, nextSlide) {
        // 表示されているスライドに"add-animation"のclassをつける
        $(".slick-slide", this).eq(nextSlide).addClass("add-animation");
        // あとで"add-animation"のclassを消すための"remove-animation"classを付ける
        $(".slick-slide", this).eq(currentSlide).addClass("remove-animation");
      },
      // スライドが移動した後に発生するイベント
      afterChange: function () {
        // 表示していないスライドはアニメーションのclassを外す
        $(".remove-animation", this).removeClass(
          "remove-animation add-animation"
        );
      },
    });
});

jQueryのポイント

  • 最初のスライドにアニメーション用の class を付ける
  • 表示しているスライドにアニメーション用の class を付ける
  • 表示していないスライドはアニメーション用の class を外す

要するに、アニメーション用のclassを付け外ししているだけですね。

あとは、通常のオプションも設定可能です。

オプションになくてもclassの付け外しが出来れば可能なので、ぜひ試してみて下さい。

 

サンプル(デモ)

最後に、今回のサンプル(デモ)を見てみます。

See the Pen
slick(拡大しながらフェード)
by junpei (@junpei-sugiyama)
on CodePen.

まとめ

HTMLコーディングの基礎であり、その基本的な書き方や構造を理解することは非常に重要です。

本記事では、HTML文書の基本構造や主要なタグについて詳しく解説しました。

当ブログでは、コーディングに関する記事だけでなく、WordPressオリジナルテーマ制作に関する記事もたくさんあるので、これからWeb制作をする人はぜひ参考にしてみて下さい。

以上になります。

関連記事slick記事一覧
関連記事Swiper記事一覧
関連記事Splide記事一覧

この記事が役に立ったと思ったら、シェアボタンからX(旧Twitter)などにシェアすると、いいねされてフォロワーが増えたりすることがあるよ!

 

  • この記事を書いた人

じゅんぺい

37歳からWeb制作とブログ開始。Web制作歴5年目でコーディングとWordPressオリジナルテーマ制作が中心。これまで120件以上を納品。当ブログ月間最高15万PVで、370記事以上はWeb制作の技術記事。コンテンツ販売→累計売上1200万円&1500部超え。X(旧Twitter)フォロワー7200人以上。2024年3月からブログの経験を活かしてライターとしても活動を開始。

-slick, Web制作, スライダー