ホーム » WEBデザイン » Slick.jsで自動で切り替わるサムネイル付きスライドを実装する方法

Slick.jsで自動で切り替わるサムネイル付きスライドを実装する方法

2025/08/07 | WEB, WEBデザイン

ITサポート・WEBサイト制作はお任せください

  • パソコンの動作が遅い
  • IT機器を入れ替えたい
  • IT・DXツールを導入したい
  • WEBサイトを作りたい
  • WEBサイトの表示がおかしくなった

上記の様なお悩みお気軽にご相談ください!

今回はJavaScriptのスライダーライブラリ「Slick」を使って、自動で切り替わるサムネイル付きスライドをWEBサイトに表示する方法をご紹介します。

サムネイル付きスライドの完成イメージ

メインのスライドが自動で切り替わり、それに連動してサムネイルスライドもアクティブな状態が切り替わる仕組みです。

サムネイルをクリックすると、メインスライドも切り替わります。

必要なコード(全体)

まずは、すべてのコードをまとめてご紹介します。

<html>
  <head>
    <link
      rel="stylesheet"
      type="text/css"
      href="https://cdn.jsdelivr.net/npm/slick-carousel@1.8.1/slick/slick.css"
    />
    <link
      rel="stylesheet"
      type="text/css"
      href="https://cdn.jsdelivr.net/npm/slick-carousel@1.8.1/slick/slick-theme.css"
    />

    <style>
      .main {
        height: 400px;
      }

      .thumbnail {
        height: 100px;
      }

      .slide1 {
        background-color: #ff7f7f;
      }

      .slide2 {
        background-color: #ff7fff;
      }

      .slide3 {
        background-color: #7f7fff;
      }

      .slide4 {
        background-color: #7fffff;
      }

      .slide5 {
        background-color: #7fff7f;
      }

      .slide6 {
        background-color: #ffff7f;
      }

      .thumbnail .slick-slide {
        opacity: 0.5;
        cursor: pointer;
      }

      .thumbnail .slick-current {
        opacity: 1;
      }
    </style>
  </head>
  <body>
    <script
      type="text/javascript"
      src="https://code.jquery.com/jquery-1.11.0.min.js"
    ></script>
    <script
      type="text/javascript"
      src="https://code.jquery.com/jquery-migrate-1.2.1.min.js"
    ></script>
    <script
      type="text/javascript"
      src="https://cdn.jsdelivr.net/npm/slick-carousel@1.8.1/slick/slick.min.js"
    ></script>

    <div class="wrap-content">
      <div class="main">
        <div class="slide1">スライド1</div>
        <div class="slide2">スライド2</div>
        <div class="slide3">スライド3</div>
        <div class="slide4">スライド4</div>
        <div class="slide5">スライド5</div>
        <div class="slide6">スライド6</div>
      </div>
      <div class="thumbnail">
        <div class="slide1">スライド1</div>
        <div class="slide2">スライド2</div>
        <div class="slide3">スライド3</div>
        <div class="slide4">スライド4</div>
        <div class="slide5">スライド5</div>
        <div class="slide6">スライド6</div>
      </div>
    </div>

    <script>
      jQuery(document).ready(function () {
        jQuery(".main").slick({
          slidesToShow: 1,
          slidesToScroll: 1,
          arrows: false,
          fade: true,
          asNavFor: ".thumbnail",
          autoplay: true,
          autoplaySpeed: 2000,
        });
        jQuery(".thumbnail").slick({
          slidesToShow: 5,
          slidesToScroll: 1,
          asNavFor: ".main",
          centerMode: true,
          focusOnSelect: true,
        });
      });
    </script>
  </body>
</html>

各コードの解説

jQueryを読み込む

Slickを利用するにはjQueryが必要なので、それをCDNにて読み込みます。

    <script
      type="text/javascript"
      src="https://code.jquery.com/jquery-1.11.0.min.js"
    ></script>
    <script
      type="text/javascript"
      src="https://code.jquery.com/jquery-migrate-1.2.1.min.js"
    ></script>

Slickを読み込む

CDNを利用してSlickを読み込みます。

    <link
      rel="stylesheet"
      type="text/css"
      href="https://cdn.jsdelivr.net/npm/slick-carousel@1.8.1/slick/slick.css"
    />
    <link
      rel="stylesheet"
      type="text/css"
      href="https://cdn.jsdelivr.net/npm/slick-carousel@1.8.1/slick/slick-theme.css"
    />
    <script
      type="text/javascript"
      src="https://cdn.jsdelivr.net/npm/slick-carousel@1.8.1/slick/slick.min.js"
    ></script>

スライドのHTMLを構築する

スライドの基本的なHTMLを構築します。

今回は6枚のスライドとして、メインスライドとサムネイルスライドで同じ内容を用意します。

    <div class="wrap-content">
      <div class="main">
        <div class="slide1">スライド1</div>
        <div class="slide2">スライド2</div>
        <div class="slide3">スライド3</div>
        <div class="slide4">スライド4</div>
        <div class="slide5">スライド5</div>
        <div class="slide6">スライド6</div>
      </div>
      <div class="thumbnail">
        <div class="slide1">スライド1</div>
        <div class="slide2">スライド2</div>
        <div class="slide3">スライド3</div>
        <div class="slide4">スライド4</div>
        <div class="slide5">スライド5</div>
        <div class="slide6">スライド6</div>
      </div>
    </div>

メインスライドとサムネイルスライドを区別するためのクラス(main、thumbnail)をそれぞれ追加しています。

CSSでスライドのスタイルを設定する

スライドの表示を調整するためのCSSを設定します。

    <style>
      .main {
        height: 400px;
      }

      .thumbnail {
        height: 100px;
      }

      .slide1 {
        background-color: #ff7f7f;
      }

      .slide2 {
        background-color: #ff7fff;
      }

      .slide3 {
        background-color: #7f7fff;
      }

      .slide4 {
        background-color: #7fffff;
      }

      .slide5 {
        background-color: #7fff7f;
      }

      .slide6 {
        background-color: #ffff7f;
      }

      .thumbnail .slick-slide {
        opacity: 0.5;
        cursor: pointer;
      }

      .thumbnail .slick-current {
        opacity: 1;
      }
    </style>

サムネイルスライドは半透明を初期状態として、アクティブになると透過なしで表示されるスタイルを設定しています。

また、サムネイルスライドをマウスホバーしたときのカーソルをポインターへ変更しています。

その他はサンプル用の配色設定となります

JavaScriptでSlickを設定する

Slickの機能を有効にするためのJavaScriptを記述します。

    <script>
      jQuery(document).ready(function () {
        jQuery(".main").slick({
          slidesToShow: 1,
          slidesToScroll: 1,
          arrows: false,
          fade: true,
          asNavFor: ".thumbnail",
          autoplay: true,
          autoplaySpeed: 2000,
        });
        jQuery(".thumbnail").slick({
          slidesToShow: 5,
          slidesToScroll: 1,
          asNavFor: ".main",
          centerMode: true,
          focusOnSelect: true,
        });
      });
    </script>

サムネイルスライドは5枚を表示を基本として、残り一枚は半分ほど見切れて見えるような設定としています。

メインのスライドは1枚をフェードイン・アウトで自動的に切り替えながら表示します。

asNavForオプションを両方のスライドが連動するように指定しています。

Slick以外でサムネイル付きスライドを表示する方法

JavaScriptには他にもスライダーライブラリがあります。

Slick以外でサムネイル付きスライドを表示する方法もご紹介しています。

サムネイル付きスライドのWEBサイト制作事例

今回のようなサムネイル付きスライドを表示したWEBサイトの制作事例をご紹介します。

まとめ

今回はJavaScriptのスライダーライブラリ「Slick」を使って、自動で切り替わるサムネイル付きスライドをWEBサイトに表示する方法をご紹介しました。

asNavForオプションを活用することで、複雑な設定なしでメインスライドとサムネイルを連動させることができます。

WEBサイトに動きのある要素を取り入れたい方は、ぜひこの方法を試してみてください。

WEBサイトの制作や保守についてお困りのことがあれば、お気軽にご相談ください。

ITサポート・WEBサイト制作や保守の
ご相談はこちらから

ITサポート・WEBサイト制作はお任せください

  • パソコンの動作が遅い
  • IT機器を入れ替えたい
  • IT・DXツールを導入したい
  • WEBサイトを作りたい
  • WEBサイトの表示がおかしくなった

上記の様なお悩みお気軽にご相談ください!

キーワード

Keywords

タグ

Tag

カテゴリー

Category