HTMLのdialogタグ
HTML5で<dialog>タグが新設されました。
<dialog id='detail'> <!-- id名は任意 -->
<!-- dialogに表示する中身 -->
</dialog>
と簡単に書き、JavaScriptで開いたり閉じたりします。
JavaScriptを利用してモーダルダイアローグを開く場合は
document.getElementById("detail").showModal();
ダイアローグを閉じる場合は、
document.getElementById("detail").close();
とします。
showModal()ではなく、show()とすれば、単純にダイアローグが開きます。
練習プログラムでは、 p00.js に書いてあります。
htmxのJavaScriptAPI
htmxでは、要素へのアクセス、要素へのクラスの追加・削除などのJavaScriptAPIが用意されています。
この関数群を使えば、生のJavaScriptよりも、簡単に記述することができます。
上記の例では、
/**
* 詳細ダイアローグボックスを開く
*/
function show_dialog() {
htmx.find("#detail").showModal();
}
/**
* 詳細ダイアローグボックスを閉じる
*/
function close_dialog() {
htmx.find("#detail").close();
}
と書けます。生のJavaScriptより、若干ですが簡単になります。
ソースファイルのコメント
ソースファイルにコメントを書かない人がいますが、来週の自分のためにコメントはこまめに書きましょう。
VSCodeなどのモダンエディターでは、関数にカーソルを合わせると、コメントを表示してくれる機能があり便利です。
dialogの修飾
CSSでdialogを修飾しています。
/* 詳細ダイアローグ */
#detail { /*ダイアローグの外形*/
padding: 0.5rem;
width: 27rem;
border: 1px solid var(--color-main);
border-radius: 7px;
}
dialog::backdrop { /*ダイアローグの背景*/
backdrop-filter: blur(1px);
background-color: rgba(0, 0, 200, 0.1);
}
ダイアローグの表示、ブロック要素の角を丸くすること、背景をぼかすことなどをCSSで実現しています。
楽になったものです。
関連記事一覧
htmxを使ってみた-(1)htmxの基本-
htmxを使ってみた-(2)準備-
htmxを使ってみた-(3)ルート関数-
htmxを使ってみた-(4)htmxを使う-
htmxを使ってみた-(5)HTMLのdialog-
htmxを使ってみた-(6)データの表示-
htmxを使ってみた-(7)データ追加-
htmxを使ってみた-(8)要素の変更-
htmxを使ってみた-(9)ページの再読み込み-
htmxを使ってみた-(10)データの変更-
htmxを使ってみた-(11)データベースの排他制御-
htmxを使ってみた-(12)確認ダイアローグ-
htmxを使ってみた-(13)データ削除-(最終)