首頁 > web前端 > js教程 > 主體

如何使用 JavaScript/jQuery 為網站建立暗/亮模式?

王林
發布: 2023-09-14 22:13:02
轉載
1279 人瀏覽過

如何使用 JavaScript/jQuery 为网站创建暗/亮模式?

深色模式對於任何網站都非常重要。不同興趣的使用者造訪網站。有些人喜歡深色模式,有些人喜歡淺色模式。

根據一項調查,大約 70% 到 80% 的人喜歡深色模式,只有 20% 到 30% 的人喜歡淺色模式。因此,有必要為任何網站創建一個深色模式,允許使用者在深色和淺色模式之間切換。

下面,我們將使用 HTML、CSS 和 JavaScript 建立一個簡單的網頁。此外,我們還將學習使用 JavaScript 和 CSS 實現明暗模式。

文法

使用者可以按照以下語法在深色和淺色主題之間切換。

body.classList.toggle("dark-theme");
登入後複製

在上面的語法中,我們將深色主題類別名稱作為切換方法的參數傳遞。它在特定的 HTML 元素中新增和刪除類別。

演算法

使用者可以按照以下演算法在深色和淺色主題之間切換。

  • 第 1 步 - 為網頁撰寫 HTML 程式碼,並像往常一樣為淺色主題套用 CSS。

  • 第 2 步 - 使用 CSS 建立深色主題的樣式。

  • 第 3 步 - 建立一個按鈕,並在按鈕中新增 onclick 事件。當用戶單擊該按鈕時,它應該在深色和淺色主題之間切換。

  • 步驟 4 - 要在深色和淺色主題之間切換,我們可以從元素中新增和刪除特定的類別。例如,為深色主題建立一個類,並為深色主題建立 CSS。當我們在body中加入dark-theme類別時,深色主題應該應用於整個網站,當我們刪除它時,它應該是正常的。

範例 1

在下面的範例中,當使用者點擊按鈕時,我們呼叫changeMode()函數。 changeMode() 函數根據主題變更按鈕的文字。

此外,我們使用 document.body 存取整個網頁,並使用 JavaScript 將 dark-theme 類別新增到整個網頁,以將主題變更為深色模式。



   


   

Using the toggle method to toggle between light and dark mode in JavaScript.

This is the content of the webpage.

<script> function changeMode() { var body = document.body; // toggle the theme body.classList.toggle(&quot;dark-theme&quot;); let button = document.getElementById('button'); // change the button text if (button.innerHTML == "Dark Mode") { button.innerHTML = "Normal Mode"; } else { button.innerHTML = "Dark Mode" } } </script>
登入後複製

範例 2

在下面的範例中,我們使用 HTML 和 CSS 建立了切換開關按鈕。我們使用了切換開關的複選框。因此,每當使用者選取該複選框時,開關就會開啟。因此,我們可以根據是否選取該複選框來新增和刪除深色主題的類別。

此外,我們也使用了JQuery的addClass()和removeClass()方法來新增和刪除主體中的類別。

<html>
<head>
   <style>
      body {
         color: black;
         background-color: rgb(241, 241, 241);
         text-align: center;
         justify-content: center;
      }
      .dark-class {
         color: white;
         background-color: rgb(12, 10, 10);
      }
      p {
         font-size: 1.2rem;
      }
      .toggleButton {
         width: 5rem;
         height: 2rem;
         position: relative;
         display: inline-block;
      }
      .toggleButton input {
         opacity: 0;
      }
      .roundButton {
         background-color: black;
         top: 0;
         left: 0;
         position: absolute;
         right: 0;
         bottom: 0;
         cursor: pointer;
      }
      .roundButton:before {
         left: 0;
         bottom: 0;
         position: absolute;
         content: "";
         background-color: grey;
         transition: 1s;
         height: 2rem;
         width: 2rem;
      }
      input:checked+.roundButton {
         background-color: white;
      }
      input:checked+.roundButton:before {
         transform: translateX(3rem);
      }
      .roundButton.circle {
         border-radius: 2rem;
      }
      .roundButton.circle:before {
         border-radius: 50%;
      }
   </style>
   <script src = "https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.3/jquery.min.js"
   Integrity = "sha512-STof4xm1wgkfm7heWqFJVn58Hm3EtS31XFaagaa8VMReCXAkQnJZ+jEy8PCC/iT18dFy95WcExNHFTqLyp72eQ=="
   crossorigin = "anonymous" referrerpolicy = "no-referrer"> </script>
</head>
<body>
   <h2>Using the <i> JQuery </i> to toggle between light and dark modes in JavaScript.</h2>
   <p>This is the content of the webpage.</p>
   <label class = "toggleButton">
      <input type = "checkbox" id = "toggle">
      <div class = "roundButton circle" ></div>
   </label>
   <script>
      // If the input checkbox is checked, activate dark mode by adding dark-class to the body
      $('#toggle').change(() => {
         if ($('#toggle').is(":checked")) {
            $("body").addClass("dark-class");
         } else {
            $("body").removeClass("dark-class")
         }
      })
   </script>
</body>
</html>
登入後複製

我們學會了使用 JavaScript 和 JQuery 在深色模式和淺色模式之間進行切換。我們需要更改網頁的 CSS 並將 CSS 應用於深色主題。我們可以透過在網頁中新增和刪除類別來將 CSS 應用到暗模式。

以上是如何使用 JavaScript/jQuery 為網站建立暗/亮模式?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:tutorialspoint.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!