JavaScript
 Computer >> コンピューター >  >> プログラミング >> JavaScript

JavaScriptでアラートボックスの色を変更する方法【jQueryでカスタム実装】

アラートボックスの色は変更できる?

JavaScript標準の alert() メソッドで表示されるアラートボックスは、ブラウザが提供するネイティブなダイアログのため、CSSで色やデザインを自由にカスタマイズすることはできません。

そこで、色を変更したい場合は独自のカスタムアラートボックスを作成するのが一般的です。この記事では、JavaScriptライブラリのjQueryを使って、背景色や文字色を自由に設定できるカスタムアラートボックスを実装する方法をご紹介します。

jQueryでカスタムアラートボックスを作るサンプルコード

以下のコードでは、#confirm というIDを持つdiv要素をアラートボックスとして使用し、CSSの background-colorcolor プロパティで配色を指定しています。この例では、背景色を紫(#8416f9)、文字色を黄色(#FCD116)に設定しています。

<!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: #8416f9;
            color: #FCD116;
            border: 1px solid #aaa;
            position: fixed;
            width: 250px;
            left: 50%;
            margin-left: -100px;
            padding: 6px 8px 8px;
            box-sizing: border-box;
            text-align: center;
         }
         #confirm button {
            background-color: #48E5DA;
            display: inline-block;
            border-radius: 5px;
            border: 1px solid #aaa;
            padding: 5px;
            text-align: center;
            width: 80px;
            cursor: pointer;
         }
         #confirm .message {
            text-align: left;
         }
      </style>
   </head>
   <body>
      <div id="confirm">
         <div class="message">This is a warning message.</div>
         <button class="yes">OK</button>
      </div>
      <input type="button" value="Click Me" onclick="functionAlert();" />
   </body>
</html>

コードのポイント解説

1. アラートボックスのHTML構造

<div id="confirm"> の中に、メッセージを表示する .message クラスと、「OK」ボタンとなる .yes クラスを配置しています。初期状態では display: none; で非表示にしておき、必要なときだけ表示します。

2. 色の変更箇所

  • 背景色: #confirmbackground-color: #8416f9; を好きな色に変更できます。
  • 文字色: color: #FCD116; でメッセージの文字色を指定しています。
  • ボタンの色: #confirm buttonbackground-color: #48E5DA; でボタンの配色も調整可能です。

3. 表示・非表示の制御

functionAlert() 関数では、jQueryの show()hide() を使ってアラートボックスの表示を切り替えています。「OK」ボタンがクリックされるとボックスが閉じられ、必要に応じてコールバック関数(myYes)を実行できる仕組みです。

まとめ

標準の alert() はデザインを変更できませんが、jQueryとCSSを組み合わせたカスタムアラートボックスを使えば、背景色・文字色・ボタンの見た目まで自由自在にコントロールできます。サイトのデザインに合わせた警告ダイアログを実装したい場合は、ぜひこの手法を活用してみてください。

  1. JavaScriptのアラートボックス(alert)のタイトルは変更できる?カスタムモーダルで実現する方法

    結論から言うと、セキュリティ上の制約により、JavaScriptの標準的なalert()メソッドで表示されるアラートボックスのタイトルを編集することはできません。なぜタイトルが変更できないのかブラウザ標準のアラートボックスは、悪意あるサイトがOSやブラウザ自体のダイアログに偽装してユーザーを騙すことを防ぐため、ブラウザ側で厳しく管理されています。そのため、タイトル部分には自動的にドメイン名や「このページから」といった情報が表示され、開発者が自由に書き換えることはできない仕組みになっています。解決策:カスタムモーダルダイアログを使うすべてのWebブラウザで一貫した見た目のアラートボックスを実現し

  2. 【Android開発入門】チェックボックスの色を変更する方法をわかりやすく解説

    Androidアプリでチェックボックス(CheckBox)を使う際、デフォルトの色のままだとデザインに馴染まないことがあります。この記事では、ボタンのクリック操作でチェックボックスの文字色と背景色を動的に変更する方法を、サンプルコード付きでステップごとに解説します。実装のポイントチェックボックスの色を変更するには、以下のメソッドを使用します。setTextColor() … テキスト(ラベル)の色を変更するsetBackgroundColor() … 背景色を変更する手順1:Android Studioで新規プロジェクトを作成するAndroid Studioを起動し、メニューから「File」→