リッチなアラートメッセージモーダルを実装できるJSプラグインを紹介します。豊富な機能を備えており、モーダルでやりたいことが、一通りできます。
SweetAlert2は、リッチなアラートメッセージモーダルを実装できるJSプラグインです。
まずは、公式サイトのデモページをご覧ください。
リッチなアニメーションで成功、失敗メッセージを表示できるのはもちろんのこと、モーダル内のボタンから別のモーダルを呼び出したり、モーダル内でjQueryやHTMLを使用できたり、やりたいことが一通りできるようになっています。
成功、失敗のアラートメッセージをリッチなアニメーションで表示できます。
さらに、モーダル内にボタンを設置し、別のモーダルを呼び出すことができます。
モーダルを繋げて、複数のメッセージを出すことができます。
モーダル内に画像を表示することができます。
モーダル内にフォームを設置することができます。
使い方
サンプルページを実装してみました。
ダウンロード
ソースコードはGitHubに公開されています。右上の「Clone or download」 > 「Donwload ZIP」ボタンからダウンロードできます。
ダウンロードしたZIPファイルを展開したら、distフォルダに入っている「sweetalert2.js」と「sweetalert2.css」を使います。
さらに、IEサポート用に、「es6-promise.js」をGitHub(es6-promise)からダウンロードしておきます。ZIPファイルを展開したら、dist > libフォルダに入っている「es6-promise.js」を使います。
JS
jQuery、「sweetalert2.js」、「es6-promise.js」を読み込みます。jQueryは、今回のサンプル用です。無しでも動作します。
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.2.2/jquery.min.js"></script> <script src="js/sweetalert2.js"></script> <!-- for IE support --> <script src="js/es6-promise.js"></script>
CSS
「sweetalert2.css」を読み込みます。
<link href="css/sweetalert2.css"/ rel="stylesheet">
サンプルのボタンデザインはこんな感じです。
button { min-width: 160px; margin: 3rem 0 0; padding: 1.2rem 2.8rem; border: none; border-radius: 5px; background: #3085d6; font-size: 1.6rem; color: #fff; } button:hover { background: #2b78c1; } .btn-success { min-width: 160px; margin: 3rem 5px 0; padding: 1.2rem 2.8rem; border: none; border-radius: 5px; background: #5cb85c; font-size: 1.6rem; color: #fff; } .btn-success:hover { background: #449d44; } .btn-danger { min-width: 160px; margin: 3rem 5px 0; padding: 1.2rem 2.8rem; border: none; border-radius: 5px; background: #d9534f; font-size: 1.6rem; color: #fff; } .btn-danger:hover { background: #c9302c; }
HTML
HTMLはシンプルです。
<div class="success"> <button>Try me!</button> </div>
JS実行
</body>
閉じタグの前で、スクリプトを実行します。
<script> $('.success button').on('click', function() { swal('Good job!', 'You clicked the button!', 'success'); }); </script>
成功モーダルの実装が完了しました。
他のモーダルも同じ要領で実装することができます。
まとめ
リッチなアラートモーダルを実装できるJSプラグイン「SweetAlert2」を紹介しました。成功、失敗のアラートメッセージの表示の他に、モーダル内から別のモーダルを呼び出したり、モーダル内に画像を表示したり、モーダル内にフォームを表示したり、やりたい機能が揃っているのが嬉しいです。