時給単価UP【3大特典付き】
コーディングテクニック集100選⋙

【jQuery】Modaal.jsの使い方解説【オプション・カスタマイズ】

記事内に広告を含みます

パソ君
パソ君

・Modaal.jsってどうやって使うの?

こんな疑問にお答えします。

「Modaal.js」とはjQueryプラグインのこと。

名前の通り、モーダルウインドウ(ポップアップ)を作成できるものとなっております。

下記みたいなやつですね↓

めちゃくちゃ簡単に実装可能です。

ジト
ジト

すぐにできるよ!

ということで、この記事では「Modaal.jsの使い方」について解説していきます!

この記事でわかること

・Modaal.jsの使い方【準備編】
・Modaal.jsの使い方【実行編】
・Modaal.jsの使い方【オプション・カスタマイズ】

【解説】Modaal.jsの使い方【準備編】

「Modaal.js」を使うために、まずは下記の準備をしていきましょう。

  1. ファイルをダウンロード
  2. 必要なファイルのみ読み込む
  3. jQueryを読み込む

順に解説していきます。

準備➀:ファイルをダウンロード

まずは「Modaal.js」を使うためのファイルをダウンロードしていきます。

公式サイトへ

https://www.humaan.com/modaal/

「DOWNLOAD FROM GITHUB」をクリック

ZIPファイルをダウンロード

「Code」⇒「Download ZIP」をクリックして、ファイルをダウンロードしましょう。

準備➁:必要なファイルのみ読み込む

ZIPファイルを解凍すると、たくさんのファイルがでてきます。

ただ実際に必要なのは2つだけ。

それが「dist」⇒「css」と「js」の中にあるファイルです。

上記画像に書いてある通り、「css」と「js」の中にあるファイルはそれぞれ、どれか1つを選べばOK。

minは圧縮されたファイルのこと。
scssを使う人は、scssファイルを利用。

HTMLにて下記コードを記載し、ファイルを読み込みます。パスは自分のフォルダ位置に合わせて変えましょう。

<!-- css -->
<link rel="stylesheet" href="./modaal/modaal.css">

<!-- js -->
<script type="text/javascript" src="./modaal/modaal.min.js"></script>

準備③:jQueryを読み込む

最後の準備としてjQueryを読み込みます。

<!-- jquery -->
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.3/jquery.min.js"></script>
<!-- modaal.jsが下 -->
<script type="text/javascript" src="./modaal/modaal.min.js"></script>

jQueryが上、Modaal.jsを下にして読み込むようにしましょう。

【解説】Modaal.jsの使い方【実行編】

続いてModaal.jsを実行していく使い方を紹介していきます。

まずデモがこちら↓

See the Pen Untitled by jito-coder (@jito-coder) on CodePen.

「ここをクリック」部分を押したら、画面がうす暗くなりモーダルウインドウが出てきますよね。

<div class="test__box">
    <a href="#modaal-box" class="modaal-btn">ここをクリック!</a>
    <div id="modaal-box" style="display:none;">
        ここにモーダルに表示させたい要素を記述します。
    </div>
</div>
$(function() {
    $('.modaal-btn').modaal({
    });
});

コードの意味として重要な点がこちら↓

  1. ボタン部分とモーダル表示部分を作成
  2. ボタンのリンク先=モーダル表示部分のidを同じに
  3. モーダル表示部分を非表示にする
  4. jQueryにてモーダル発動の記述をする

順に解説していきます。

実行➀:ボタン部分とモーダル表示部分を作成

まず「ボタン部分」と「モーダル表示部分」をわけて作成しましょう。

<div class="test__box">
    <!-- ボタン部分 -->
    <a href="" class="">ボタン</a>
    
    <!-- モーダル表示部分 -->
    <div id="">
        コンテンツが入ります
    </div>
</div>

このモーダル表示部分に、ポップアップとして表示したいコンテンツを入れていきます。

実行➁:ボタンのリンク先=モーダル表示部分のidを同じに

次に「ボタンのaタグhref属性」=「モーダル表示部分のidの値」にしましょう。

<div class="test__box">
    <!-- ボタン部分 -->
    <a href="#hoge" class="modaal-btn">ボタン</a>
    
    <!-- モーダル表示部分 -->
    <div id="hoge">
        コンテンツが入ります
    </div>
</div>

例としてモーダル表示部分のidに「hoge」を入れました。
そしてaタグのリンク先に「#hoge」を入れます。

(ちなみにaタグのクラス名に.modaal-btnを入れています)

実行③:モーダル表示部分を非表示にする

モーダル表示部分は、クリックしてから表示させま
そのため初期値では非表示にしておきましょう。

<div id="hoge" style="display:none;">
    コンテンツが入ります
</div>

cssで指定しても良いですが、僕はHTMLに直書きします。ここはお好みで。

実行➃:jQueryにてモーダル発動の記述をする

準備完了です。あとはjQueryにてモーダル発動の記述をするのみ。

やり方としては、クリックするボタン部分のクラス名に対して、実行するコードを書くだけ。

下記の感じ↓

<a href="#hoge" class="modaal-btn">ボタン</a>
$(function() {
    $('.modaal-btn').modaal({
    });
});

先述したことをすれば、下記のサンプルが完成いたします↓

See the Pen Untitled by jito-coder (@jito-coder) on CodePen.

もし〇〇したらモーダル起動

これは自分用のメモですが「もし〇〇した時にモーダルを起動させたい」場合ありますよね。

例えば特定の要素までスクロールしたときや、アップした画像サイズが上限を超えていた時~など。

その場合、if文を使ってaタグをクリックさせれば実装可能です。

$(function() {
    if (/* ここに条件を書く */) {
        $('.modaal-btn').click();
    }
    $('.modaal-btn').modaal({
    });
});

上記により、if文を満たせばaタグをクリックさせることができ、モーダルが発動します。

【解説】Modaal.jsの使い方【色々なサンプル】

最後に他のフェードインするサンプルと、コピペ用コードを紹介していきます!

  • フルスクリーン
  • 動画系
  • 画像系
  • iframe系

順に見ていきましょう。

⋙デモサイトはこちら

フルスクリーン

画面一杯にモーダルウインドウが開きます。

<div class="test__box">
    <a href="#modaal-box02" class="modaal-btn02">ここをクリック!</a>
    <div id="modaal-box02" style="display:none;">
        フルスクリーンに表示させたい要素を記述します。
    </div>
</div>
$(function() {
    $('.modaal-btn02').modaal({
        fullscreen: true,
    });
});

modaalのオプション「fullscreen」を使用。

3行目のように「fullscreen: true,」と指定すれば実装可能です。

⋙デモサイトはこちら

動画系

クリックしたらyoutubeなどの動画が、モーダルとして表示されます。

<div class="test__box">
    <a href="https://www.youtube.com/embed/動画IDを入れる" class="modaal-btn03">ここをクリック!</a>
</div>
$(function() {
    $('.modaal-btn03').modaal({
        type: 'video',
    });
});

HTML部分は動画リンクだけでOKです。

modaalのオプションを使い、typeをvideoに指定すれば実装可能。

⋙デモサイトはこちら

リンク先に動画IDを入れよう

動画のリンクは下記のように設定します↓

  • YouTube:https://www.youtube.com/embed/動画IDを入れる
  • vimeo:https://player.vimeo.com/video/動画IDを入れる

ID部分はリンクの最後部分、もしくは共有URLの最後部分で見れます。

画像系(1枚)

クリックしたら一枚の画像が、モーダルとして表示されます。

<a href="./assets/img/1.png" class="modaal-btn04">
    <img src="./assets/img/1.png" alt="">
</a>
$(function() {
    $('.modaal-btn04').modaal({
        type: 'image',
    });
});

HTMLのリンク先を画像に指定。

modaalのオプションにて、typeをimageにすれば実装可能です。

⋙デモサイトはこちら

画像系(ギャラリー)

クリックしたら複数の画像を左右で切替できるモーダルが表示されます。

<a href="./assets/img/1.png" class="modaal-btn05"  data-group="images"><img src="./assets/img/1.png" alt=""></a>
<a href="./assets/img/2.png" class="modaal-btn05"  data-group="images"><img src="./assets/img/2.png" alt=""></a>
<a href="./assets/img/3.png" class="modaal-btn05"  data-group="images"><img src="./assets/img/3.png" alt=""></a>
<a href="./assets/img/4.png" class="modaal-btn05"  data-group="images"><img src="./assets/img/4.png" alt=""></a>
$(function() {
    $('.modaal-btn05').modaal({
        type: 'image',
    });
});

ギャラリー画像として表示させるaタグの「クラス」と「data-group」の値を同じにします。

あとはmodaalのオプションにて、typeをimageにすればOK。

⋙デモサイトはこちら

iframe系

クリックしたら別のサイトや、htmlファイルをモーダルとして表示できます。

<a href="https://jito-site.com/" class="modaal-btn06">別のページがモーダルで表示</a>
$(function() {
    $('.modaal-btn06').modaal({
        type: 'iframe',
        width: 1000,
        height: 700
    });
});

リンク先に表示したいURL、もしくはファイル名を。

modaalのオプションにて、typeをiframeに。横幅と縦幅を指定することで実装可能です。

⋙デモサイトはこちら

【解説】Modaal.jsの使い方【オプション・カスタマイズ】

modaal.jsにはオプションや、関数などのカスタマイズが可能です。ボタンの位置を調整したりも。

ということで最後に下記を紹介します。

  • オプション
  • cssでのカスタマイズ

順に見ていきましょう。

オプション

オプションの指定は下記の感じ↓

$(function() {
    $('.modaal-btn').modaal({
        オプション名: '値',
        オプション名: '値',
        オプション名: '値',
    });
});

オプションの種類に関しては「公式サイト」にて詳しく書いてあります。

その中でも良く使いそうなのが下記ですね↓

type表示するタイプを設定
animation_speedモーダル表示までの時間
hide_closeモーダルを閉じるボタンの非表示設定
fullscreenフルスクリーンにて表示するかの設定
start_openロードした時にモーダルが起動
background_scrollモーダル後ろ背景部分のスクロール可否設定
background背景色(薄暗い部分の)
overlay_opacity背景の透過設定
overlay_close背景をクリックでモーダルを閉じれるかの設定

cssでのカスタマイズ

下記のコードらへんをいじれば、閉じるボタン✘の色や配置などをカスタマイズすることができます。

.modaal-close {
	position: fixed;
	right: 20px;
	top: 20px;
	color: #fff;
	cursor: pointer;
	opacity: 1;
	width: 50px;
	height: 50px;
	background: rgba(0, 0, 0, 0);
	border-radius: 100%;
	-webkit-transition: all 0.2s ease-in-out;
	transition: all 0.2s ease-in-out;
}

.modaal-close:focus,
.modaal-close:hover {
	outline: none;
	background: #fff;
}

.modaal-close:focus:before,
.modaal-close:focus:after,
.modaal-close:hover:before,
.modaal-close:hover:after {
	background: #b93d0c;
}

【jQuery】Modaal.jsの使い方解説【オプション・カスタマイズ】:まとめ

  • 「dist」⇒「css」と「js」の中にあるファイルを使う
  • 「ボタンのaタグhref属性」=「モーダル表示部分のidの値」にする
  • モーダル表示部分を非表示にする
  • クリックするボタン部分のクラス名に対して、実行するコードをjQueryに書く
  • オプションを指定すればフルスクリーン、動画、画像、iframeなどのモーダル表示が可能
ジト
ジト

「Modaal.js」は便利でよく使うので覚えておこう!

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA