JavaScriptでアラートボックスの表示位置をカスタマイズする方法
アラートボックスの位置をカスタマイズするには?
標準の alert() メソッドで表示されるアラートボックスはブラウザが制御しているため、表示位置を変更することはできません。位置を自由にコントロールしたい場合は、jQueryとCSSを組み合わせて独自のカスタムアラートボックスを作成するのがおすすめです。
位置の指定には、CSSの top プロパティと left プロパティを使用します。position: fixed; と組み合わせることで、画面上の任意の場所にアラートボックスを配置できます。
サンプルコード
以下のコードを実行して、アラートボックスの位置がカスタマイズできることを確認してみましょう。
<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script>
function functionAlert(msg, myYes) {
var confirmBox = $("#confirm");
confirmBox.find(".message").text(msg);
confirmBox.find(".yes").unbind().click(function() {
confirmBox.hide();
});
confirmBox.find(".yes").click(myYes);
confirmBox.show();
}
</script>
<style>
#confirm {
display: none;
background-color: #F3F5F6;
color: #000000;
border: 1px solid #aaa;
position: fixed;
width: 300px;
height: 100px;
left: 30%;
top: 30%;
box-sizing: border-box;
text-align: center;
}
#confirm button {
background-color: #FFFFFF;
display: inline-block;
border-radius: 12px;
border: 4px solid #aaa;
padding: 5px;
text-align: center;
width: 60px;
cursor: pointer;
}
#confirm .message {
text-align: left;
}
</style>
</head>
<body>
<div id="confirm">
<div class="message">This is a warning message.</div><br>
<button class="yes">OK</button>
</div>
<input type="button" value="Click Me" onclick="functionAlert();" />
</body>
</html>
コードのポイント
- 位置の指定:
#confirmに対してposition: fixed;を設定し、left: 30%;とtop: 30%で画面内の表示位置を決めています。この数値を変更すれば、好きな場所に配置できます。 - 表示・非表示の切り替え: 初期状態は
display: none;で非表示にしておき、ボタンクリックでfunctionAlert()が呼び出されるとshow()によって表示されます。 - メッセージの動的変更: 引数で渡したテキストが
.message要素に挿入されるため、呼び出しごとに異なるメッセージを表示できます。
このように、標準のアラート機能に頼らず自前のダイアログを作成することで、デザインや位置だけでなく、ボタンの動作まで柔軟にカスタマイズ可能になります。
-
JavaScriptでアラートボックスを作成する方法
アラートボックスとは? アラートボックス(Alert Box)とは、クリック、スクロール、テキスト入力などのユーザー操作に反応してポップアップ表示される小さなウィンドウのことです。主にユーザーへ問題や注意点を警告する目的で使われますが、単に情報をお知らせする用途でも広く活用されています。 よくある使用例として、フォームの送信ボタンをクリックしたものの、必須項目の入力を忘れてしまったケースが挙げられます。この場合、アラートボックスが自動的に表示され、問題の内容をユーザーに分かりやすく伝えることができます。 アラートボックスの作成方法 それでは、上のスクリーンショットと同じアラートボックスを実際
-
JavaScriptのアラートボックス(alert)のタイトルは変更できる?カスタムモーダルで実現する方法
結論から言うと、セキュリティ上の制約により、JavaScriptの標準的なalert()メソッドで表示されるアラートボックスのタイトルを編集することはできません。なぜタイトルが変更できないのかブラウザ標準のアラートボックスは、悪意あるサイトがOSやブラウザ自体のダイアログに偽装してユーザーを騙すことを防ぐため、ブラウザ側で厳しく管理されています。そのため、タイトル部分には自動的にドメイン名や「このページから」といった情報が表示され、開発者が自由に書き換えることはできない仕組みになっています。解決策:カスタムモーダルダイアログを使うすべてのWebブラウザで一貫した見た目のアラートボックスを実現し