YouTube動画をモーダルウインドウで表示する方法【HTML/CSS/JavaScript・サンプルコード付き】

モーダルウインドウ

YouTube動画をモーダルウインドウで表示する方法

YouTube動画をモーダルウインドウで表示する方法を紹介します。ボタンをクリックするとモーダルウインドウが開き、その中でYouTube動画を再生できるサンプルです。HTML・CSS・JavaScriptのみで実装しているため、外部ライブラリを使用せずに簡単に導入できます。

動画はiframeを利用して埋め込んでおり、ページ遷移を行わずに動画を再生できます。商品紹介、サービス説明、チュートリアル、会社紹介、ポートフォリオなど、動画を目立たせたいページで活用できます。また、モーダルを閉じると動画も停止するため、再生したままになる心配がありません。

配布用コードではYouTube動画IDを変更するだけで別の動画へ差し替えられます。モーダルのサイズ、背景色、余白、角丸、影、表示アニメーションなども自由に変更でき、スマートフォン・タブレット・PCで利用できるレスポンシブ対応のサンプルです。

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

デモ

YouTube動画モーダル

ボタンを押すとYouTube動画をモーダルウインドウで表示します。

「動画を再生」をクリックするとモーダルウインドウ内でYouTube動画を再生できます。
※ デモではYouTubeのサンプル動画を利用しています。配布用コードでは動画IDを変更してご利用ください。

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

<!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-modal_wrap">

    <!-- タイトル -->
    <h1 class="youtube-modal_title">
      YouTube動画モーダル
    </h1>

    <!-- 説明文 -->
    <p class="youtube-modal_text">
      ボタンを押すとYouTube動画をモーダルウインドウで表示します。
    </p>

    <!-- YouTube動画を開くボタン -->
    <button
      class="youtube-modal_open"
      type="button"
      data-youtube-modal-open>
      動画を再生
    </button>

  </div>

  <!-- モーダル背景 -->
  <div
    class="youtube-modal_overlay"
    data-youtube-modal-overlay>

    <!-- モーダル本体 -->
    <div
      class="youtube-modal_modal"
      role="dialog"
      aria-modal="true"
      aria-labelledby="youtube-modal-title">

      <!-- モーダルタイトル -->
      <div
        class="youtube-modal_modal-title"
        id="youtube-modal-title">
        YouTube動画
      </div>

      <!-- YouTube動画表示エリア -->
      <div class="youtube-modal_player-wrap">

        <!--
          YouTube動画
          src属性はJavaScriptから設定する
          script.js内の動画IDを変更すると別の動画を表示できる
        -->
        <iframe
          class="youtube-modal_player"
          src=""
          title="YouTube動画"
          data-youtube-modal-player
          allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
          allowfullscreen>
        </iframe>

      </div>

      <!-- モーダルを閉じるボタン -->
      <button
        class="youtube-modal_close"
        type="button"
        data-youtube-modal-close>
        閉じる
      </button>

    </div>

  </div>

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

</body>
</html>

ファイル構成と設置方法

このサンプルでは、HTML・CSS・JavaScriptをそれぞれ別ファイルに分けて使用します。index.htmlstyle.cssscript.js を同じフォルダに配置してください。

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

index.html をブラウザで開くと、YouTube動画をモーダルウインドウで表示できます。表示する動画を変更したい場合は、HTML内の iframe の src 属性を変更してください。

YouTube動画のURLは、YouTubeで表示したい動画を開き、「共有」ボタンからコピーできます。コピーしたURLが https://youtu.be/FvFlVUeet0w の形式の場合は、末尾の動画IDを使って、次のように埋め込み用URLへ変更します。

https://www.youtube.com/embed/FvFlVUeet0w
  


コメント