YouTube動画をカルーセルで表示する方法
YouTube動画をカルーセルで表示する方法をHTML・CSS・JavaScriptで紹介します。複数のYouTube動画を1つのエリアにまとめ、前へ・次へボタンやドットナビをクリックして切り替えられるサンプルです。動画一覧を縦に長く並べずに整理できるため、ページをすっきり見せたい場合に便利です。
このサンプルでは、各スライドにYouTubeの埋め込みiframeを配置し、JavaScriptで表示する動画を切り替えます。レッスン動画、商品紹介動画、使い方動画、レビュー動画など、複数の動画を順番に見せたいWebページで利用できます。タブ切り替えとは異なり、カルーセル形式で前後の動画へ移動できる点が特徴です。
表示する動画は、YouTube動画URLに含まれる動画IDをiframeのURLへ入れるだけで変更できます。動画数を増やす場合は、スライドとドットナビを追加することで対応できます。HTML・CSS・JavaScriptを分けた構成なので、初心者でもカスタマイズしやすい形で実装できます。
免責事項 本コードの利用により発生した損害について、当サイトは一切の責任を負いません。
デモ
このデモでは、前へ・次へボタンやドットナビをクリックすると、表示するYouTube動画を切り替えられます。複数の動画を1つのカルーセル内で順番に表示できます。
配布用コードではYouTube動画は中央に表示されますが、この記事内のデモはWordPressテーマのCSSの影響により表示位置が異なる場合があります。実際のレイアウトや動作は配布用コードをご利用ください。
コードをコピーして使おう!
<!DOCTYPE html>
<html lang="ja">
<head>
<!-- 文字コード -->
<meta charset="UTF-8">
<!-- スマホ表示に対応 -->
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- ページタイトル -->
<title>YouTube動画カルーセル</title>
<!-- CSSファイルを読み込み -->
<link rel="stylesheet" href="style.css">
</head>
<body>
<!-- YouTube動画カルーセル全体 -->
<div class="youtube-carousel_demo">
<!-- カルーセル本体 -->
<div class="youtube-carousel_box">
<!-- 横にスライドする動画一覧 -->
<div class="youtube-carousel_track" id="youtube-carousel-track">
<!-- 動画1 -->
<div class="youtube-carousel_slide">
<!-- 動画タイトル:自由に変更可能 -->
<div class="youtube-carousel_title">
動画1
</div>
<!-- 動画表示エリア -->
<div class="youtube-carousel_video">
<!--
YouTube動画の設定方法
① YouTubeで表示したい動画を開く
② URLを確認する
例)
③ 「v=」以降の文字列が動画IDです
動画ID
mj0vxJuMD0A
④ 下記の「動画ID1」を置き換えてください
-->
<iframe
src="https://www.youtube.com/embed/動画ID1"
title="動画1"
allowfullscreen>
</iframe>
</div>
</div>
<!-- 動画2 -->
<div class="youtube-carousel_slide">
<div class="youtube-carousel_title">
動画2
</div>
<div class="youtube-carousel_video">
<!-- 「動画ID2」を表示したい動画へ変更 -->
<iframe
src="https://www.youtube.com/embed/動画ID2"
title="動画2"
allowfullscreen>
</iframe>
</div>
</div>
<!-- 動画3 -->
<div class="youtube-carousel_slide">
<div class="youtube-carousel_title">
動画3
</div>
<div class="youtube-carousel_video">
<!-- 「動画ID3」を表示したい動画へ変更 -->
<iframe
src="https://www.youtube.com/embed/動画ID3"
title="動画3"
allowfullscreen>
</iframe>
</div>
</div>
</div>
</div>
<!-- 操作ボタン -->
<div class="youtube-carousel_controls">
<!-- 前へボタン -->
<button
class="youtube-carousel_arrow youtube-carousel_prev"
id="youtube-carousel-prev"
type="button"
aria-label="前へ">
前へ
</button>
<!-- ドットナビ -->
<div class="youtube-carousel_dots">
<button
class="youtube-carousel_dot is-active"
type="button"
data-index="0"
aria-label="動画1">
</button>
<button
class="youtube-carousel_dot"
type="button"
data-index="1"
aria-label="動画2">
</button>
<button
class="youtube-carousel_dot"
type="button"
data-index="2"
aria-label="動画3">
</button>
</div>
<!-- 次へボタン -->
<button
class="youtube-carousel_arrow youtube-carousel_next"
id="youtube-carousel-next"
type="button"
aria-label="次へ">
次へ
</button>
</div>
</div>
<!-- JavaScriptファイルを読み込み -->
<script src="script.js"></script>
</body>
</html>
配布用コードの実行結果
配布用コードでは、YouTube動画は中央に表示されます。
ファイル構成と設置方法
このサンプルは、HTML・CSS・JavaScriptの3ファイルで構成されています。HTMLにカルーセルのレイアウトとYouTube動画を埋め込むiframeを配置し、CSSでデザインを整え、JavaScriptで前へ・次へボタンやドットナビによるスライド切り替えを行います。
sample/
├── index.html
├── style.css
└── script.js
sampleフォルダをそのまま配置し、ブラウザで sample/index.html を開くと動作を確認できます。
表示するYouTube動画は index.html の各 iframe の src 属性を変更してください。通常のYouTubeページのURLではなく、https://www.youtube.com/embed/動画ID の形式を指定します。動画IDは、通常のURL(例:https://www.youtube.com/watch?v=XXXXXXXXXXX)の v= 以降の文字列です。
動画タイトルやタブ名は index.html を編集することで自由に変更できます。色・余白・ボタンデザイン・角丸などの見た目は style.css で調整してください。
スライドの切り替え処理や、前へ・次へボタン、ドットナビの動作は script.js にまとめられています。このサンプルには自動再生や待機時間などの調整項目はありません。
コメント