勉強したことのメモ

Webエンジニア / プログラマが勉強したことのメモ。

JavaScriptのリッチなalert / confirmぽいウィンドウを表示する「sweetalert2」の利用方法

  JavaScript

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',~~)」という形でも問題無し。

また、各種パラメータについてはこちらのページを参照すること。

 - JavaScript

  関連記事

PHPにて「php-ulid」ライブラリを用いてULIDを生成する方法
PHPにて「php-ulid」ライブラリを用いてULIDを生成する方法

先日MySQLにてUUIDを発行するメモを書いたがUUID v1だと生成時間によ ...

PHPでvar_dumpをツールバー形式で表示するライブラリ「Kint」の使い方
PHPでvar_dumpをツールバー形式で表示するライブラリ「Kint」の使い方

PHPでvar_dumpを見やすくするためにdBugライブラリを利用しているが、 ...

JavaScriptでダミー画像(プレースホルダー画像)を表示する「Holder.js」ライブラリの利用方法
JavaScriptでダミー画像(プレースホルダー画像)を表示する「Holder.js」ライブラリの利用方法

サイトの開発段階で「本番用の画像はまだ用意できていない」等の理由によりダミー画像 ...

PHPで画像アップロード、リサイズ、形式変換(jpg->webp等)はclass.upload.phpが便利
PHPで画像アップロード、リサイズ、形式変換(jpg->webp等)はclass.upload.phpが便利

今までPHPで画像関連の処理を行う場合、リサイズの時のみsmart_resize ...

PHPでデータベースを取り扱いやすくなるORMライブラリ「idiorm」の利用方法
PHPでデータベースを取り扱いやすくなるORMライブラリ「idiorm」の利用方法

Codeigniterでデータベースを取り扱う際にクエリビルダクラスを用いて可読 ...