Javascriptのalert()に似た機能として、任意のメッセージをCSSで整形可能な<div>要素として表示する。
表示されるダイアログは、シンプルなタグ構造で<body>直下の最後の要素として挿入される。
具体的な構造は下記を参照のこと。
CSSでは「#klib_dialogue_識別子 {‥}」で自由に整形可能。
CSSで自由に整形して表示するサンプル。
HTML : 挿入されるダイアログの構造
<div id="klib_dialogue_識別子"> // 引数が2個の場合
<p>本文</p>
<button type="button" id="klib_dialogue_btn" onclick="$hideDialogue()">OK</button>
</div>
<div id="klib_dialogue_識別子"> // 引数が3個の場合
<h6>タイトル</h6>
<p>本文</p>
<button type="button" id="klib_dialogue_btn" onclick="$hideDialogue()">OK</button>
</div>
Javascript :
// CSSタイプ1用:識別子は「def」
$dialogue('def','サンプルダイアログです');
// CSSタイプ2用:識別子は「2」
$dialogue('2','添付できるファイルサイズ‥‥選択しなおしてください。','✕ ファイルが大きすぎます');
$toHTML('klib_dialogue_btn','理解しました'); // $dialogue()を実行してから、$toHTML()でボタン文言を上書きしている
Sass :
#klib_dialogue_def { // CSSタイプ1用
max-width: 400px;
padding: 30px;
color: #fff;
text-align: center;
background: #000;
border-radius: 6px;
filter: drop-shadow(rgba(0,0,0,0.3) 4px 4px 3px);
p { // 本文部分
margin-bottom: 25px;
font-size: 18px;
text-align: left;
}
button#klib_dialogue_btn { // ボタン部分
padding: 8px 30px;
font-size: 15px;
color: #fff;
background: #31b1bc;
border: none;
border-radius: 16px;
cursor: pointer;
}
}
#klib_dialogue_2 { // CSSタイプ2用
max-width: 360px;
padding: 30px;
color: #000;
text-align: right;
background: #f5fcfc;
border: 3px solid #000;
border-radius: 16px;
filter: drop-shadow(rgba(0,0,0,0.25) 3px 3px 4px);
h6 { // タイトル部分
margin-bottom: 16px;
font-size: 18px;
text-align: left;
}
p { // 本文部分
margin-bottom: 25px;
font-size: 14px;
line-height: 170%;
text-align: left;
}
button#klib_dialogue_btn { // ボタン部分
padding: 8px 30px;
font-size: 17px;
color: #fff;
background: #31b1bc;
border: none;
border-radius: 6px;
cursor: pointer;
transition: background 0.25s;
&:hover {
background: saturate(#31b1bc,20%);
}
}
}