フェードで切り替わるカルーセルを作る方法【HTML/CSS/JavaScript・サンプルコード付き】 

カルーセル

フェードで切り替わるカルーセルを作る方法

フェードで切り替わるカルーセルをHTML・CSS・JavaScriptで作る方法を紹介します。左右へスライドするのではなく、現在のスライドが徐々に消えながら次のスライドが表示されるため、落ち着いた印象のカルーセルを簡単に実装できます。トップページのメインビジュアルやキャンペーン告知、おすすめコンテンツの紹介など、さまざまな場面で利用しやすいデザインです。

このサンプルでは、フェードアニメーションによるスライド切り替えに加え、左右の矢印ボタンとドットナビゲーションを実装しています。ボタンやドットをクリックすると任意のスライドへ切り替えられ、現在表示中のスライドも分かりやすく表示されます。特別なライブラリは使用せず、HTML・CSS・JavaScriptだけで動作します。

カルーセルの文章やボタン、背景色は自由に変更できるため、企業サイトやサービス紹介ページ、ランディングページなどにもそのまま応用できます。フェードで自然に切り替わるカルーセルを作りたい方や、シンプルな実装方法を探している方におすすめのサンプルです。

コードについて 本記事のコードはサンプルコードです。ご利用前に必ず動作確認を行ってください。
免責事項 本コードの利用により発生した損害について、当サイトは一切の責任を負いません。

デモ

コードをコピーして使おう!

<!DOCTYPE html>
<html lang="ja">
<head>

  <!-- 文字コード -->
  <meta charset="UTF-8">

  <!-- スマホ表示に対応 -->
  <meta name="viewport" content="width=device-width, initial-scale=1.0">

  <!-- ページタイトル -->
  <title>フェードで切り替わるカルーセル</title>

  <!-- CSSファイルを読み込み -->
  <link rel="stylesheet" href="style.css">

</head>
<body>

  <!-- カルーセル全体 -->
  <div class="fade-carousel_demo">

    <!-- カルーセル表示エリア -->
    <div class="fade-carousel_view">

      <!-- スライド1 -->
      <div class="fade-carousel_slide is-active">

        <!-- テキストエリア -->
        <div class="fade-carousel_content">

          <!-- タイトル -->
          <div class="fade-carousel_title">
            新しいサービスを紹介
          </div>

          <!-- 説明文 -->
          <p>
            フェードアニメーションで自然に切り替わるカルーセルです。トップページのメインビジュアルにも利用できます。
          </p>

          <!-- ボタン -->
          <a href="#" class="fade-carousel_btn">
            詳しく見る
          </a>

        </div>

      </div>

      <!-- スライド2 -->
      <div class="fade-carousel_slide">

        <!-- テキストエリア -->
        <div class="fade-carousel_content">

          <!-- タイトル -->
          <div class="fade-carousel_title">
            おすすめ情報を表示
          </div>

          <!-- 説明文 -->
          <p>
            スライド移動ではなく、徐々に切り替わるため落ち着いた印象のデザインになります。
          </p>

          <!-- ボタン -->
          <a href="#" class="fade-carousel_btn">
            詳細を見る
          </a>

        </div>

      </div>

      <!-- スライド3 -->
      <div class="fade-carousel_slide">

        <!-- テキストエリア -->
        <div class="fade-carousel_content">

          <!-- タイトル -->
          <div class="fade-carousel_title">
            キャンペーンを告知
          </div>

          <!-- 説明文 -->
          <p>
            左右の矢印やドットナビから任意のスライドへ切り替えられます。
          </p>

          <!-- ボタン -->
          <a href="#" class="fade-carousel_btn">
            確認する
          </a>

        </div>

      </div>

      <!-- 前へボタン -->
      <button class="fade-carousel_arrow fade-carousel_prev" type="button">
        ‹
      </button>

      <!-- 次へボタン -->
      <button class="fade-carousel_arrow fade-carousel_next" type="button">
        ›
      </button>

      <!-- ドットナビゲーション -->
      <div class="fade-carousel_dots">

        <!-- 1枚目 -->
        <button class="fade-carousel_dot is-active" type="button"></button>

        <!-- 2枚目 -->
        <button class="fade-carousel_dot" type="button"></button>

        <!-- 3枚目 -->
        <button class="fade-carousel_dot" type="button"></button>

      </div>

    </div>

  </div>

  <!-- JavaScriptファイルを読み込み -->
  <script src="script.js"></script>

</body>
</html>

ファイル構成と設置方法

このサンプルは、HTML・CSS・JavaScriptの3ファイルで構成されています。HTMLにカルーセルのレイアウト、CSSにデザインとフェードアニメーション、JavaScriptにスライド切り替え処理を記述しています。左右の矢印ボタンやドットナビをクリックすると、現在のスライドから次のスライドへフェードで切り替わります。

sample/
├── index.html
├── style.css
└── script.js

sampleフォルダ内の index.html をブラウザで開くと動作を確認できます。スライドの文章やボタンの文字は index.html、背景色やレイアウト、フェード時間は style.css、スライド切り替え処理や連打防止時間は script.js で変更できます。フェード時間は style.csstransition: opacity 1.2s ease; を変更してください。1.2秒より大きくするとゆっくり切り替わり、小さくすると速く切り替わります。また、script.jsfadeCarouselSpeed は連打防止時間です。1200 = 1.2秒 を表しており、CSSのフェード時間と同じ値に設定すると自然な動作になります。


コメント