如何在 JavaScript 中在 alert/confirm 框中顯示影像?


在本教程中,我們將學習如何在 JavaScript 中在 **alert** 或 **confirm 框** 中顯示影像。**alert()** 是 JavaScript 方法,當您呼叫它時,它會在螢幕頂部中央顯示alert確認框。

作為程式設計師和使用者,您在許多網站上都看到過,在您刪除使用者帳戶中的任何寶貴內容之前,他們會要求您確認。此外,當用戶進入網頁或顯示訊息時,alert 框也可能有助於顯示一些資訊。

因此,預設的 alert 框只能包含您在呼叫時作為引數傳遞給alert() 方法的文字以及預設提供的“確定”按鈕。

為了使 **UI 更具吸引力**,我們需要在 alert 框中新增圖示和影像。但是,JavaScript alert() 方法不支援影像。在這裡,我們可以有兩個解決方案來實現我們的目標

  • 在 JavaScript 中建立自定義 alert 框。
  • 使用 jQuery 對話方塊。

在 JavaScript 中建立自定義 Alert 框

在這種方法中,我們將從頭開始構建對話方塊框。我們可以建立一個 alert div 並向其中新增內容。之後,我們可以將 alert div 的位置設定為螢幕頂部中央,就像普通的 alert 框一樣,並根據使用者想要顯示或隱藏對話方塊框的意願更改顯示。

語法

您可以按照以下語法來實現該方法並從頭開始建立對話方塊框。

<script>
   var alertDiv = document.getElementById("alert");
   // to show alert box change display
   function invokeAlert() {
      alertDiv.style.display = "block";
   }

   // to hide alert box, make display none using JavaScript
   function closeDialog() {
      alertDiv.style.display = "none";
   }
</script>

方法

  • 首先,我們將建立一個用作對話方塊框的單個 div,並將影像和其他內容新增到該對話方塊 div 中。

  • 之後,我們將建立一個顯示對話方塊按鈕,當用戶點選該按鈕時,我們將呼叫更改對話方塊框顯示的函式。

  • 此外,我們在對話方塊框內添加了關閉按鈕,當用戶點選該按鈕時,它將呼叫一個 JavaScript 函式將對話方塊 div 的顯示更改為 none。

示例

在本例中,我們將按照上述步驟建立一個自定義對話方塊框。

<html>
<head>
   <title> Add image to alert / confirmation box. </title>
</script>
<style>
   #alert {
      display: none;
      background-color: lightgrey;
      border: 1px solid green;
      position: fixed;
      width: 250px;
      left: 45%;
      top: 2%;
      padding: 6px 8px 8px;
      text-align: center;
   }
   img {
      width: 10rem;
      height: 10rem;
   }
   button {
      border-radius: 12px;
      height: 2rem;
      padding: 10px;
      cursor: pointer;
      border: 2px solid green;
      background-color: aqua;
   }
</style>
</head>
<body>
   <h2> Add image to alert / confirm box. </h2>
   <h4> Creating custom dialog box using JavaScript. </h4>
   <div id = "alert">
      <p> Welcome to the tutorialsPoint! </p>
      <img src="https://tutorialspoint.tw/python_pillow/images/tutorials_point.jpg" alt="tutorialsPoint"> </img>
      <button id="close" onclick="closeDialog()"> Close </button>
   </div>
   <button onclick='invokeAlert();'> Show alert </button>
   <script>
      var alertDiv = document.getElementById("alert");
      function invokeAlert() {
         alertDiv.style.display = "block";
      }
      function closeDialog() {
         alertDiv.style.display = "none";
      }
   </script>
</body>
</html>

使用 jQuery dialog() 方法

**jQuery** 是 JavaScript 庫,也是 JavaScript 的高階版本。jQuery 包含dialog() 方法,其工作方式類似於 JavaScript 的alert() 方法。

語法

您可以按照以下語法在 JQuery 對話方塊中使用影像。

<script>
   // convert div as a dialog
   $(function () {
      $("#div_Id").dialog();
   });
</script>
<div id="imgInDialog" title="Alert Box">
   <img src="" />
</div>

引數

  • **div_Id** - 它是您已向其中新增影像並希望使用 jQuery dialog() 方法將其轉換為對話方塊框的 div 的 id。

示例

在下面的示例中,我們建立了 div 以在對話方塊框中顯示它,並在其中添加了一個影像。之後,使用 jQuery,我們使用 div id 訪問了 div 併為該 div 呼叫了 dialog() 方法,該方法將 div 轉換為對話方塊框。

此外,我們還在<head> 標記中添加了 jQuery CDN 以用於對話方塊框的樣式。我們添加了一些樣式以使預設對話方塊框更具吸引力。

<html>
<head>
   <title> Add image to alert / confirmation box. </title>
   <!-- jquery CDN for dialog boxes -->
   <link href="https://code.jquery.com/ui/1.10.4/themes/ui-lightness/jquery-ui.css" rel="stylesheet">
   <script src="https://code.jquery.com/jquery-1.10.2.js"></script>
   <script src="https://code.jquery.com/ui/1.10.4/jquery-ui.js"></script>
   <!-- CSS -->
   <style>
      .ui-widget-header {
         background: lightgreen;
         color: blue;
         font-size: 20px;
      }
      #dialog {
         text-align: center;
      }
      img {
         width: 200px;
         height: 200px;
      }
   </style>
</head>
<body>
   <h2> Add image to alert / confirmation box.</h2>
   <h4> Show image in the dialog box using the jQuery dialog() method. </h4>
   <!-- content of the dialog box. -->
   <div id = "imgInDialog" title = "Alert Box">
      <p> Welcome to the tutorialsPoint! </p>
      <img src="https://tutorialspoint.tw/python_pillow/images/tutorials_point.jpg" alt="tutorialsPoint" />
   </div>
   <script>
       // open the imgInDialog div in the dialog box.
      $(function () {
         $("#imgInDialog").dialog();
      });
   </script>
</body>
</html>

在輸出中,使用者可以在包含影像和歡迎訊息的對話方塊框中看到 div。

結論

在本教程中,我們學習了兩種在 alert 或確認框中顯示影像的方法。第二種方法優於第一種方法,因為我們需要編寫更少的程式碼行。如果使用者希望使對話方塊框更高階,他們可以使用第一種方法,因為他們可以為對話方塊框提供更好的樣式。

更新於: 2022-07-22

4K+ 次瀏覽

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告