勉強したことのメモ

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

  関連記事

JavaScriptで簡単にURL操作が行える「domurl」ライブラリの利用方法

JavaScriptでGETパラメータやURLを操作する際にsplitで配列に分 ...

JavaScriptでlocalStorageを簡単に操作できる「store.js」ライブラリの利用方法

以前Dexie.jsを利用してIndexedDBを取り扱う方法をメモしたが、今回 ...

JavaScriptでランダムなカラーコードを生成する「RandomColor」ライブラリの利用方法

先日PHPでランダムなカラーコードを生成する「RandomColor.php」ラ ...

JavaScriptの動画プレイヤー用ライブラリ「Plyr」の利用方法

先日JavaScriptの動画プレイヤー用ライブラリ「Video.js」を試した ...

円形のプログレスバーをprogressbar.jsで実装する方法

円形のプログレスバーを実装したかった。CSSだったり画像を用いたりする方法もあっ ...