YouTube動画をドロワーメニューで表示する方法
YouTube動画をドロワーメニューで表示する方法を紹介します。YouTube動画をページ内へ埋め込むことで、ページ遷移を行わずに動画コンテンツを閲覧できます。本記事では、HTML・CSS・JavaScriptだけを使い、ボタンをクリックすると画面左側からドロワーメニューが開き、その中でYouTube動画を再生できるサンプルを作成します。
サンプルコードでは、「動画を表示」ボタンをクリックするとドロワーメニューが表示され、その中へ埋め込んだYouTube動画を表示します。「閉じる」ボタンまたは背景部分をクリックするとドロワーメニューを閉じることができます。表示する動画はiframeのsrc属性にある動画IDを変更するだけで簡単に差し替えられます。
商品紹介動画やサービス紹介、操作マニュアル、チュートリアル動画、会社案内などを掲載したい企業サイトやECサイト、会員サイト、お問い合わせページなどで利用できます。HTMLでは動画や説明文を変更でき、CSSではドロワーメニューの幅や余白、動画サイズなどを自由に調整できます。シンプルな構成なので、自分のWebサイトへ組み込みやすいサンプルです。
免責事項 本コードの利用により発生した損害について、当サイトは一切の責任を負いません。
デモ
コードをコピーして使おう!
<!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>
<!-- デモ全体 -->
<div class="youtube-drawer-menu_wrap">
<!-- タイトル -->
<h1 class="youtube-drawer-menu_title">
YouTube動画をドロワーメニューで表示
</h1>
<!-- 説明文 -->
<p class="youtube-drawer-menu_text">
ボタンをクリックすると、ドロワーメニュー内でYouTube動画を再生できます。
</p>
<!-- ドロワーメニューを開くボタン -->
<button
class="youtube-drawer-menu_open"
type="button"
data-drawer-open>
動画を表示
</button>
</div>
<!-- ドロワーメニュー表示時の背景 -->
<div
class="youtube-drawer-menu_overlay"
data-drawer-overlay>
<!-- ドロワーメニュー本体 -->
<div
class="youtube-drawer-menu_drawer"
role="dialog"
aria-modal="true"
aria-labelledby="youtube-drawer-menu-title">
<!-- ドロワーメニューのタイトル -->
<div
class="youtube-drawer-menu_drawer-title"
id="youtube-drawer-menu-title">
YouTube動画
</div>
<!-- ドロワーメニューの説明文 -->
<p class="youtube-drawer-menu_drawer-text">
ドロワーメニュー内でYouTube動画を確認できます。
</p>
<!-- YouTube動画表示エリア -->
<div class="youtube-drawer-menu_video">
<!--
YouTube動画
src属性へ埋め込みURLを指定する。
YouTube動画のURLが
https://www.youtube.com/watch?v=xxxxxxxxxxx
の場合は、
https://youtube.com/watch?v=xxxxxxxxxxx
の形式へ変更して設定する。
-->
<iframe
src=""
title="YouTube video"
allowfullscreen>
</iframe>
</div>
<!-- ドロワーメニューを閉じるボタン -->
<button
class="youtube-drawer-menu_close"
type="button"
data-drawer-close>
閉じる
</button>
</div>
</div>
<!-- JavaScriptファイルを読み込み -->
<script src="script.js"></script>
</body>
</html>
サンプル一式を取得する場合 HTML・CSSなどすべてのファイルが必要な場合は、「サンプル一式をダウンロード」をクリックしてください。
ファイル構成と設置方法
このサンプルはHTML・CSS・JavaScriptの3ファイルで構成されています。HTMLでドロワーメニューやYouTube動画の表示エリアを作成し、CSSでレイアウトやデザイン、JavaScriptでドロワーメニューの開閉処理を行います。表示するYouTube動画は、ご自身で用意した動画へ自由に変更できます。
sample/
├── index.html
├── style.css
└── script.js
各ファイルの役割
index.html
ドロワーメニューやYouTube動画を表示するHTMLを記述します。iframeのsrcへYouTube動画の埋め込みURLを設定することで、表示する動画を変更できます。
style.css
ドロワーメニューの幅や背景色、ボタン、動画表示エリアのサイズ、余白、角丸、アニメーションなどの見た目を管理します。
script.js
ドロワーメニューの開閉処理を記述します。開くボタン・閉じるボタン・背景クリックによる閉じる動作を管理します。
設置方法・使い方
sampleフォルダ内へ各ファイルを配置し、index.htmlをブラウザで開くと利用できます。表示するYouTube動画はご自身で用意してください。
YouTube動画のURLが
https://www.youtube.com/watch?v=mj0vxJuMD0A
の場合、「mj0vxJuMD0A」が動画IDです。iframeのsrcへは通常の動画URLではなく、次のような埋め込みURLを設定してください。
カスタマイズできる内容
index.htmlでは表示するYouTube動画、タイトル、説明文、ボタンの文字を変更できます。style.cssではドロワーメニューの幅、高さ、背景色、余白、角丸、影、ボタンの色、動画表示サイズなどを自由に調整できます。script.jsでは開閉処理を編集し、ESCキー対応やアニメーション追加などへ発展させることもできます。
数値調整
style.cssの「width:420px;」を変更するとドロワーメニューの幅を調整できます。「aspect-ratio:16/9;」を変更すると動画表示エリアの比率を変更できます。「animation:youtube-drawer-menu_slide .35s ease forwards;」の「.35」は0.35秒を表し、値を大きくすると表示アニメーションがゆっくり、小さくすると速くなります。
レスポンシブ対応
このサンプルはレスポンシブ対応です。style.cssで「max-width:90%;」「width:100%;」「aspect-ratio」を使用しているため、スマートフォン・タブレット・PCでも画面幅に応じてドロワーメニューやYouTube動画が自動的に調整され、レイアウトが崩れにくくなっています。
コメント