YouTubeの動画をモーダル表示したい

YouTubeの動画をモーダル表示が必要な案件の依頼を受けました。

モーダルの実装に関しては、レスポンシブの対応が難しく、
以前苦戦したことを思い出していました。

今回はライブラリを使用したYouTube動画のモーダル表示の仕方についてご紹介します。

modal-video.jsとは

YouTubeのモーダルに関するライブラリはいくつかあり、その中でも「modal-video.js」が簡単で実装できそうだと感じました。

サンプルを作ってみました

modal-video.jsのおすすめポイント

おすすめポイントを以下にまとめました。

非常に簡単にモーダルの実装ができます

・レスポンシブ対応しているので、PC/SP表示で苦しむことがないです

imgタグで好きなサムネから、モーダルを表示できます

modal-video.jsの実装手順

①ファイルの読み込み

モーダル実装に必要なファイルは3種類です。CDNで用意されているので、以下をHTMLのheadタグ内に記述しましょう。

<!-- CDN modal-video CSS --> 
<link rel="stylesheet" href="//cdn.jsdelivr.net/npm/modal-video@2.4.8/css/modal-video.min.css" /> 

<!-- jQuery -->
<script type="text/javascript" src="//cdn.jsdelivr.net/npm/jquery@3.5.1/dist/jquery.min.js"></script> 
<!-- CDN modal-video jQuery --> 
<script type="text/javascript" src="//cdn.jsdelivr.net/npm/modal-video@2.4.8/js/jquery-modal-video.min.js"></script>

②HTMLの特定の位置に設置

表示させたい場所に、各タグを設置する

<!-- aタグで設置 -->
<a href="javascript:;" data-video-id="XXXXXXXX" class="js-modal-video">テキストを入力</a>

<!-- aタグ以外で設置 -->
<div data-video-id="XXXXXXXXXX" class="js-modal-video">テキストを入力</div>

<!-- 画像のみ -->
<img src="画像パス" data-video-id="XXXXXXXX" class="js-modal-video" alt="">

data-video-idには、下記URLの「jSClCdKs6OI」部分です。

https://www.youtube.com/watch?v=jSClCdKs6OI&t=2s

↑YouTubeのviedo-idの確認方法

③JavaScriptファイルに動作記述

bodyの閉じタグの直前にJavaScriptを記述します。

(function () {
    $(".js-modal-video").modalVideo({
      channel: "youtube", //YouTubeの場合
      youtube: {
        rel: 0, //関連動画の指定
        autoplay: 0, //自動再生の指定
      },
    });
})();

modal-video.jsのデモ

aタグで設置した場合。

imgタグ(サムネイル)で設置した場合。