簡體   English   中英

暗模式圖標未更改且未保存在本地存儲中

[英]Dark mode Icon not changed and not saved in local storage

我用我自己的黑暗主題制作了一個黑暗模式按鈕。 主題由本地存儲保存。 同樣,當我單擊按鈕時,它的圖標不會改變(月亮到太陽)。 但是如果我重新加載頁面,該站點仍處於黑暗模式,但按鈕圖標沒有改變。 所以這里有一個鏈接,如果你不明白我在說什么,它會向你展示問題。 codepen 演示還有我的代碼:

 $(document).ready(function () { $('body').toggleClass(localStorage.toggled); $(".darkmode-btn").on("click", function(){ if (localStorage.toggled != 'dark') { $('body').toggleClass('dark', true); localStorage.toggled = "dark"; } else { $('body').toggleClass('dark', false); localStorage.toggled = ""; $(this).toggleClass("sun") } }); });
 .dark{background-color: #222;} .darkmode-btn { height: 60px; line-height: 60px; color: #fff; text-align: center; font-size: 20px; margin-left: 20px; z-index: 100; cursor: pointer; background-color: #08f; } .darkmode-btn:before,.darkmode-btn.moon:before,.darkmode-btn.sun:before { font-family: "fontawesome"; } .darkmode-btn:before { content: '\\f186'; } .darkmode-btn.moon:before { content: '\\f186'; } .darkmode-btn.sun:before { content: '\\f185'; }
 <link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet"/> <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <body> <div class="darkmode-btn"> </div> </body>

 $(".darkmode-btn").on("click", function(){
  if (localStorage.toggled != 'dark') {
    $('body').toggleClass('dark', true);
    localStorage.toggled = "dark";
    $(this).addClass("moon").removeClass("sun")
  } else {
    $('body').toggleClass('dark', false);
    localStorage.toggled = "";
    //$(this).toggleClass("sun").removeClass("sun")
    $(this).addClass("sun").removeClass("moon")
  }
});
});

這應該對你有幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM