【簡単】slickを使い左右チラ見せ中央固定のカルーセルスライダーを実装する方法

中央固定の複数枚画像が並ぶカルーセルスライダーを作成したい。

このような悩みを解決します。

本記事ではスライダープラグインのslickを使って、中央固定の複数枚画像が並ぶカルーセルスライダーの作り方について解説します。

※事前にslickを使う上で、jqueryとslickプラグインをhead内に読ませましょう。

slick実行コード

        $(function () {
          $(".slider").slick({
            variableWidth: true,
            centerMode: true,
            focusOnSelect: true,
            responsive: [
              {
                breakpoint: 1000, //ブレイクポイントを指定
                settings: {
                  variableWidth: false,
                  centerMode: false,
                },
              },
            ],
          });
        });

上記は、画像左右チラ見せ中央固定カルーセルスライダーを作るサンプルコードです。

重要なのが以下プロパティです。

centermodeプロパティ
両端を見切れ状態(左右チラ見せ)にする事が出来ます。
左右チラ見せにするのでtrueに設定します。

variableWidthプロパティ
CSSで横幅を指定できるようになります。
中央固定にしたいのでtrueにします。

responsiveプロパティ
上記プロパティを使う事で、レスポンシブなサイトでデバイス幅事にプロパティを変更・追加できます。

本記事では、中央固定幅を下回ったらvariableWidthの設定をfasleにし、横幅を固定ではなく、自動可変に戻します。

その為、responsiveプロパティ内のbreakpointの値を中央固定幅の数値に設定し、variableWidth・centerModeをfalseに設定します。

以上でslick実行コードの設定は終わりです。

CSSで中央固定幅を設定

@media screen and (min-width: 1000px) {
    .slider-area {
      overflow: hidden;
     }
    .slick-slide {
      max-width: 1000px;
    width: 100% !important;
    }
    .slick-current {
      max-width: 1000px;
      width: 100% !important;
      margin: auto;
  }
}

上記CSSをスライダー要素にあてます。

メディアクエリを使って、前章で設定したbreakpoint値を設定。

同じく自動でスライダー要素に振り当てられるクラス.slick-slide.slick-currentに以下プロパティを設定します。

max-width: breakpointで設定した数値;
width: 100% !important;

最後にスライダーを任意の親要素で囲み以下プロパティを設定します。

overflow: hidden;

variableWidthを設定しているとスライダーのはみ出た部分が現れ、横スクロール枠がでてしまいます。

overflow: hidden;で打ち消しましょう。

以上で画像左右チラ見せ中央固定カルーセルスライダーの完成です。

まとめ

以前swiperプラグインで左右チラ見せ中央固定カルーセルスライダーの作り方を紹介したのですが、slickでも実装できないかと思い、出来たので本記事で紹介しました。

以上で解説を終わります。

Ads

関連記事

HTMLCSS プログラミング

【簡単】preタグ内テキストが折り返しされない問題をCSSで解決する方法

2022.01.25
51
HTMLCSS プログラミング

【簡単CSS】複数の背景画像にパララックスを実装する方法【スマホ対応】

2022.03.13
1208
JavaScript プログラミング

【簡単】slickスライダーをデバイス幅(PC・スマホ)によって機能を有効または無効にする方法

2022.02.10
232
JavaScript プログラミング

【簡単】jQueryを使って、入力中の値をリアルタイムでチェック・取得する方法

2022.03.24
220