キーボード操作でスライドする画像スライダーを作る方法
キーボード操作でスライドする画像スライダーをHTML・CSS・JavaScriptで作る方法を紹介します。左右の矢印キーを押すことで画像を切り替えられるため、マウス操作だけに頼らない画像スライダーを実装できます。
このサンプルでは、画像を横並びに配置し、JavaScriptでキーボード入力を検知して前後の画像へ移動します。左矢印キーで前の画像へ、右矢印キーで次の画像へ切り替わるため、ギャラリーや作品紹介、商品画像の閲覧などにも使いやすい構成です。
表示する画像は自由に差し替えられ、スライド速度や見た目はCSSで調整できます。ボタン操作だけでなくキーボード操作にも対応したスライダーを作りたい場合に利用しやすいサンプルです。
免責事項 本コードの利用により発生した損害について、当サイトは一切の責任を負いません。
デモ
このデモでは、左右の矢印キーを押すと画像が切り替わります。右矢印キーで次の画像へ、左矢印キーで前の画像へ移動できます。
コードをコピーして使おう!
<!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="keyboard-image-slider_demo">
<!-- 画像表示エリア -->
<div class="keyboard-image-slider_box">
<!-- 横に動くスライド一覧 -->
<div class="keyboard-image-slider_track" id="keyboard-image-slider-track">
<!-- スライド1 -->
<div class="keyboard-image-slider_slide">
<img src="images/【ここに1枚目の画像ファイル名】" alt="画像1">
</div>
<!-- スライド2 -->
<div class="keyboard-image-slider_slide">
<img src="images/【ここに2枚目の画像ファイル名】" alt="画像2">
</div>
<!-- スライド3 -->
<div class="keyboard-image-slider_slide">
<img src="images/【ここに3枚目の画像ファイル名】" alt="画像3">
</div>
</div>
</div>
<!-- 操作説明 -->
<div class="keyboard-image-slider_notice">
キーボードの← →キーで画像を切り替えられます。
</div>
</div>
<!-- JavaScriptファイルを読み込み -->
<script src="script.js"></script>
</body>
</html>
ファイル構成と設置方法
このサンプルは、HTML・CSS・JavaScriptの3ファイルで構成されています。HTMLでスライダーのレイアウトを作成し、CSSで見た目やスライドアニメーションを設定し、JavaScriptで左右の矢印キーによる画像切り替えを実装しています。表示する画像は sample/images/ フォルダへ配置して使用します。
sample/
├── index.html
├── style.css
├── script.js
└── images/
├── 【ここに1枚目の画像】
├── 【ここに2枚目の画像】
└── 【ここに3枚目の画像】
sampleフォルダをそのまま配置し、ブラウザで sample/index.html を開くと動作を確認できます。使用する画像は sample/images/ フォルダへ配置し、index.html の各 img タグへ画像ファイル名を指定してください。ページを開いたらキーボードの ← キーで前の画像、→ キーで次の画像へ切り替えられます。
スライダーの横幅や角丸、背景色などは style.css で変更できます。画像の切り替え速度は style.css の transition: transform .45s ease; で設定しており、.45s は0.45秒を表します。数値を大きくすると切り替えがゆっくりになり、小さくすると素早く切り替わります。表示する画像を増やす場合は、index.html にスライドを追加し、画像ファイルを sample/images/ に配置してください。
コメント