画像を切り替えるトグルスイッチを作る方法【HTML/CSS/JavaScript・サンプルコード付き】

トグルスイッチ

画像を切り替えるトグルスイッチを作る方法

画像を切り替えるトグルスイッチを作る方法を紹介します。このサンプルでは、トグルスイッチのON・OFF状態に応じて表示する画像を切り替えます。JavaScriptで状態を判定し、2枚の画像を切り替えるシンプルな構成なので、初心者でも仕組みを理解しやすく、そのまま実際のWebサイトへ導入できます。

商品画像の切り替え、テーマ画像の変更、イラストの比較表示、ビフォー・アフター画像の表示など、さまざまな場面で利用できます。トグルスイッチを操作するだけで画像が切り替わるため、ボタンを複数配置する必要がなく、直感的な操作が可能です。お問い合わせページや紹介ページ、ECサイトの商品説明などでも活用できます。

HTMLでは画像や説明文を変更でき、CSSでは画像サイズや余白、角丸、影などを自由に調整できます。JavaScriptでは切り替える画像の指定を変更できるため、用途に合わせて簡単にカスタマイズできます。レスポンシブにも対応しているため、スマートフォン・タブレット・PCでも見やすく利用できます。

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

デモ

画像切り替えデモ

トグルスイッチを切り替えると表示画像が変わります。

サンプル画像

トグルスイッチをON・OFFに切り替えると、表示する画像が切り替わります。

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

<!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="toggle-switch-image_wrap">

    <!-- タイトル -->
    <div class="toggle-switch-image_title">
      画像切り替え
    </div>

    <!-- 説明文 -->
    <p class="toggle-switch-image_text">
      トグルスイッチを切り替えると表示画像が変わります。
    </p>

    <!-- トグルスイッチの設定項目 -->
    <div class="toggle-switch-image_row">

      <!-- 項目名 -->
      <span class="toggle-switch-image_label-text">
        画像を切り替える
      </span>

      <!-- トグルスイッチ -->
      <label class="toggle-switch-image_switch">

        <!-- ON・OFF状態を管理するチェックボックス -->
        <input
          id="image-toggle"
          class="toggle-switch-image_checkbox"
          type="checkbox"
          aria-label="表示画像を切り替える">

        <!-- スイッチの背景と丸いノブ -->
        <span class="toggle-switch-image_slider"></span>

      </label>

    </div>

    <!-- 切り替える画像 -->
    <img
      id="switch-image"
      class="toggle-switch-image_image"
      src="https://picsum.photos/id/1015/800/450"
      alt="山と湖のサンプル画像">

  </div>

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

</body>
</html>
コードをコピーする場合 使用するコードのタブを選び、「このタブをコピー」をクリックすると、現在表示中のコードをコピーできます。
サンプル一式を取得する場合 HTML・CSSなどすべてのファイルが必要な場合は、「サンプル一式をダウンロード」をクリックしてください。

ファイル構成と設置方法

このサンプルはHTML・CSS・JavaScriptの3ファイルで構成されています。HTMLではトグルスイッチと画像を配置し、CSSではトグルスイッチや画像のデザインを設定します。JavaScriptではトグルスイッチのON・OFF状態を監視し、表示する画像を切り替える処理を行います。シンプルな構成なので、画像切り替えの仕組みを理解しながら導入できます。

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

各ファイルの役割
index.htmlはトグルスイッチと画像を表示するファイルです。タイトル、説明文、ラベル、画像要素を編集できます。

style.cssはトグルスイッチや画像のデザインを設定するファイルです。色、サイズ、余白、角丸、影、レスポンシブ表示などを変更できます。

script.jsはトグルスイッチの状態に応じて表示する画像を切り替える処理を記述しています。表示する画像URLや切り替え動作を変更できます。

設置方法・使い方
sampleフォルダへindex.html、style.css、script.jsを配置してください。3つのファイルを同じ階層へ保存したあと、sample/index.htmlをブラウザで開くと利用できます。トグルスイッチをON・OFFに切り替えると、表示する画像が自動で切り替わります。

カスタマイズできる内容
index.htmlではタイトル、説明文、ラベル、画像のalt属性を変更できます。

style.cssではカード全体の横幅、余白、背景色、トグルスイッチのサイズ、色、角丸、画像サイズ、影などを自由に調整できます。

script.jsではON・OFF時に表示する画像URLを変更できます。Picsum Photos以外の画像URLや、自分で用意した画像へ変更することも可能です。

数値調整
style.css
max-width:720px;
全体の最大横幅です。値を大きくすると横に広がり、小さくするとコンパクトになります。

padding:32px;
全体の内側余白です。値を大きくすると余白が広がり、小さくすると詰まった表示になります。

width:88px; / height:46px;
トグルスイッチのサイズです。値を変更するとスイッチ全体の大きさが変わります。

width:36px; / height:36px;
スイッチ内の丸いノブのサイズです。値を大きくするとノブも大きくなります。

transform:translateX(42px);
ON時にノブを移動する距離です。スイッチのサイズを変更した場合は、この値も合わせて調整してください。

transition:0.3s;
スイッチやノブが切り替わる時間です。0.3秒で変化します。値を大きくするとゆっくり、小さくすると速くなります。

max-width:520px;
画像の最大横幅です。値を大きくすると画像が大きく表示され、小さくするとコンパクトになります。

レスポンシブ対応
このサンプルはレスポンシブ対応です。style.cssのwidth:100%max-widthにより画面幅に合わせて全体と画像が縮小されます。また、640px以下ではメディアクエリで余白やレイアウトを調整しているため、スマートフォン・タブレット・PCで利用できます。


こちらもおすすめ


コメント