英文 | https://www.geeksforgeeks.org/how-to-create-dark-light-mode-for-website-using-javascript-jquery/?ref=leftbar-rightbar
翻譯 | web前端開發(ID:web_qdkf)
淺色深色配色方案(也稱爲深色模式)是一種補充模式,它使用一種配色方案,其中網頁的內容顯示在深色背景上。這種配色方案減少了屏幕發出的光並增強了可讀性。切換爲夜間模式可讓網站用戶隨時隨地轉向外觀友好且節省資源的設計。
創建夜間/高亮模式的步驟:
創建一個HTML文檔。
爲文檔文件以及黑暗模式創建CSS。
添加一個開關轉換器按鈕,以在明暗模式之間進行切換。
使用javascript或jQuery代碼向開關轉換器添加功能,以在明暗模式之間切換。
示例1:以下示例演示了使用JQuery代碼在明暗模式之間進行切換。它基本上通過使用函數hasClass(),addClass()和removeClass()方法來工作。
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Dark Mode</title>
<script src= "https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.0/jquery.min.js"> </script>
<style> body{ padding:10% 3% 10% 3%; text-align:center; } img{ height:140px; width:140px; } h1{ color: #32a852; } .mode { float:right; } .change { cursor: pointer; border: 1px solid #555; border-radius: 40%; width: 20px; text-align: center; padding: 5px; margin-left: 8px; } .dark{ background-color: #222; color: #e6e6e6; } </style> </head>
<body> <div class="mode"> Dark mode: <span class="change">OFF</span> </div>
<div> <h1>GeeksforGeeks</h1> <p><i>A Computer Science Portal for Geeks</i></p> <h3>Light and Dark Mode</h3>
<img src= "https://media.geeksforgeeks.org/wp-content/uploads/20200122115631/GeeksforGeeks210.png"> <p> Click on the switch on top-right to move to dark mode. </p> </div>
<script> $( ".change" ).on("click", function() { if( $( "body" ).hasClass( "dark" )) { $( "body" ).removeClass( "dark" ); $( ".change" ).text( "OFF" ); } else { $( "body" ).addClass( "dark" ); $( ".change" ).text( "ON" ); } }); </script> </body>
</html>
輸出:
高亮模式:
夜間模式:
示例2:以下示例演示了通過在JavaScript代碼中使用toggle()函數在高亮模式和夜間模式之間進行切換。
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content= "width=device-width, initial-scale=1.0"> <title>Dark Mode</title>
<style> body{ padding:0% 3% 10% 3%; text-align:center; } h1{ color: #32a852; margin-top:30px; }
button{ cursor: pointer; border: 1px solid #555; text-align: center; padding: 5px; margin-left: 8px; } .dark{ background-color: #222; color: #e6e6e6; } </style> </head>
<body> <h1>GeeksforGeeks</h1> <p><i>A Computer Science Portal for Geeks</i></p> <h3>Light and Dark Mode</h3> <button οnclick="myFunction()">Switch mode</button>
<script> function myFunction() { var element = document.body; element.classList.toggle("dark"); } </script> </body>
</html>
輸出:
高亮模式:
夜間模式:
夜間模式或者說黑暗模式除了爲網站添加額外功能之外,還可以增強用戶體驗和可訪問性。對於發佈較長內容且需要用戶長時間關注屏幕的網站而言,此功能非常有用。