簡體   English   中英

使用 javascript 在暗模式下更改元主題顏色?

[英]Change meta theme-color in dark mode with javascript?

如何將這兩個腳本合並為一個 function,

<script>//<![CDATA[
function LMcheckCheckbox(){
    document.querySelectorAll(".checkbox").forEach(function(e) {      
       "darkmode"===localStorage.getItem("mode")?e.checked=!0:e.checked=!1
        })
    }
function darkMode(){
     localStorage.setItem("mode","darkmode"===localStorage.getItem("mode")?"light":"darkmode"),
     "darkmode"===localStorage.getItem("mode")?document.querySelector("body").classList.add("darkmode"):document.querySelector("body").classList.remove("darkmode"),
     LMcheckCheckbox()
 }
 function darkModeHide(){
      document.querySelectorAll(".darkmode-switch").forEach(function(e){
           e.parentNode.removeChild(e)
      })
 }
LMcheckCheckbox(),
"undefined"==typeof AzidBloggerSetting
 &&(AzidBloggerSetting={tombolDarkmode:!0}),           
 0==AzidBloggerSetting.tombolDarkmode&&darkModeHide();
    //]]>
</script>

這里是更改元主題顏色的腳本

$("meta[name='theme-color']").attr('content', '#333333');

如何將第二個腳本插入第一個腳本? 我想在第一個腳本處於活動狀態時更改元主題顏色。

您需要找到激活暗模式的位置並將您的代碼放在那里。(取消縮小代碼以首先查看發生了什么)

我建議您在開始編寫代碼之前對 javascript 有一個基本的了解!

據我了解,這就是你想要做的:

function LMcheckCheckbox() {
  document.querySelectorAll(".checkbox").forEach(function(e) {
    "darkmode" === localStorage.getItem("mode") ? e.checked = !0 : e.checked = !1
  })
}


function darkMode() {
// this is seemingly where the dark mode is being applyed so :
$("meta[name='theme-color']").attr('content', '#333333');
  localStorage.setItem("mode", "darkmode" === localStorage.getItem("mode") ? "light" : "darkmode"), "darkmode" === localStorage.getItem("mode") ? document.querySelector("body").classList.add("darkmode") : document.querySelector("body").classList.remove("darkmode"), LMcheckCheckbox()
}

function darkModeHide() {
  document.querySelectorAll(".darkmode-switch").forEach(function(e) {
    e.parentNode.removeChild(e)
  })
}
LMcheckCheckbox(), "undefined" == typeof AzidBloggerSetting && (AzidBloggerSetting = {
  tombolDarkmode: !0
}), 0 == AzidBloggerSetting.tombolDarkmode && darkModeHide();

暫無
暫無

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

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