勉強したことのメモ

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

sweetalert2を閉じた後、指定位置にスクロールしようとしても元の位置に戻る現象を解決する方法

  JavaScript

sweetalert2で表示したウィンドウを閉じた後、指定位置にスクロールさせたい。ただ、そのまま書くと指定位置にスクロール後、元の位置に戻ってしまう。この点を改善させたい。以下に対応方法をメモ。

 

サンプル

https://taitan916.info/sample/sweetalert2/scroll/

ページ下部にボタンがあり「通常版」をクリック後、ウィンドウを閉じるとページ上部にスクロールするが、その直後元の位置に戻る筈。「改良版」だとその点が改善されている。

 

対応方法

ソースコード

<button id="alert" type="button" class="button-class">通常版</button>
<button id="alert2" type="button" class="button-class">改良版</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({
        html: `通常版`,
        willClose: () => {
            window.scrollTo({
                top: 0,
            });
        }
    });
}

document.getElementById(`alert2`).onclick = function() {
    Swal.fire({
        html: `改良版`,
        returnFocus: false,
        willClose: () => {
            window.scrollTo({
                top: 0,
            });
        }
    });
}
</script>

解説等

「returnFocus: false」のオプション設定が必要。リファレンスはこちら

 - JavaScript

  関連記事

JavaScriptでURLのクエリを取得する2
JavaScriptでURLのクエリを取得する2

直近で調べたのとは別に、 http://aaa.bbb/ccc/id123?te ...

jQueryの「DateTimePicker」プラグインで日付や時間選択時に指定したイベントを実行させる方法
jQueryの「DateTimePicker」プラグインで日付や時間選択時に指定したイベントを実行させる方法

jQueryの「DateTimePicker」プラグインで日付や時間選択時、あら ...

JavaScriptにて時間や長さの単位を変換及び計算できる「mathjs」ライブラリの利用方法
JavaScriptにて時間や長さの単位を変換及び計算できる「mathjs」ライブラリの利用方法

JavaScriptにて時間の単位を「分->時」に、長さの単位を「mm-& ...

Push.jsを用いてプッシュ通知を実装&Web Audio APIで通知音も鳴らす方法
Push.jsを用いてプッシュ通知を実装&Web Audio APIで通知音も鳴らす方法

プッシュ通知(デスクトップ通知)を実装してみたい。また、通知の際は分かりやすいよ ...

JavaScriptライブラリChart.jsでグラフの描写する方法
JavaScriptライブラリChart.jsでグラフの描写する方法

JavaScriptでグラフを描写する必要があり、普段はHighchartを使用 ...