JavaScriptのリッチなalert / confirmぽいウィンドウを表示する「sweetalert2」の利用方法
JavaScriptのalert / confirmはブラウザによって表示位置やデザインが異なる。また、そもそもの見た目(デザイン)も少々気になるところ。この辺りを解決できないか調べたところ「sweetalert2」というライブラリで対応できそう。以下に利用方法をメモ。
sweetalert2
公式サイト
https://sweetalert2.github.io/
デモページ
https://sweetalert2.github.io/#examples
CDN
CDNで使う場合は以下を記述する。
<script src="https://cdn.jsdelivr.net/npm/sweetalert2@11.11.0/dist/sweetalert2.all.min.js"></script> <link href="https://cdn.jsdelivr.net/npm/sweetalert2@11.11.0/dist/sweetalert2.min.css" rel="stylesheet">
サンプル
https://taitan916.info/sample/sweetalert2/
利用方法
ソースコード
<button id="alert" type="button" class="button-class">alert</button>
<button id="confirm" type="button" class="button-class">confirm</button>
<script src="https://cdn.jsdelivr.net/npm/sweetalert2@11.11.0/dist/sweetalert2.all.min.js"></script>
<link href="https://cdn.jsdelivr.net/npm/sweetalert2@11.11.0/dist/sweetalert2.min.css" rel="stylesheet">
<script>
document.getElementById(`alert`).onclick = function() {
Swal.fire(`alertテスト`);
}
document.getElementById(`confirm`).onclick = function() {
Swal.fire({
title: `confirmテスト`,
showDenyButton: true,
confirmButtonText: `Yes`,
denyButtonText: `No`
}).then((result) => {
if( result.isConfirmed ){
Swal.fire(`Yesをクリックしました。`);
}else if (result.isDenied){
Swal.fire(`Noをクリックしました。`);
}
});
}
</script>
解説等
バニラJS対応ライブラリのため「document.getElementById」としているが、もちろんjQueryを導入して「$(`#alert`).on('click',~~)」という形でも問題無し。
また、各種パラメータについてはこちらのページを参照すること。
関連記事
-
-
PHPにて「php-ulid」ライブラリを用いてULIDを生成する方法
先日MySQLにてUUIDを発行するメモを書いたがUUID v1だと生成時間によ ...
-
-
PHPでvar_dumpをツールバー形式で表示するライブラリ「Kint」の使い方
PHPでvar_dumpを見やすくするためにdBugライブラリを利用しているが、 ...
-
-
JavaScriptでダミー画像(プレースホルダー画像)を表示する「Holder.js」ライブラリの利用方法
サイトの開発段階で「本番用の画像はまだ用意できていない」等の理由によりダミー画像 ...
-
-
PHPで画像アップロード、リサイズ、形式変換(jpg->webp等)はclass.upload.phpが便利
今までPHPで画像関連の処理を行う場合、リサイズの時のみsmart_resize ...
-
-
PHPでデータベースを取り扱いやすくなるORMライブラリ「idiorm」の利用方法
Codeigniterでデータベースを取り扱う際にクエリビルダクラスを用いて可読 ...