在网站上加载黑暗模式之前,会短暂显示一亮模式

时间:2020-04-03 06:29:40

标签: javascript html css

在我的网站上,我已经使用了暗模式切换并将其保存到localStorage中,以便在页面之间遍历网站时可以记住暗模式。但是,每当我切换页面时,旧主题都会加载一小段时间(0.5s),然后加载暗模式。我希望深色模式能够无缝显示并停留在页面之间。

每次用户转到另一个页面时,我都有一个名为initTheme()的函数,该函数根据localStorage变量调整主题。我该如何获取它,以便当用户切换页面时,已经加载了暗负载?

function initTheme() {

    var darkThemeSelected =
      localStorage.getItem("darkSwitch") !== null &&
      localStorage.getItem("darkSwitch") === "dark";

    darkThemeSelected
      ? document.body.setAttribute("data-theme", "dark") 
      : document.body.removeAttribute("data-theme");

    if (darkThemeSelected){
      document.getElementById("darkModeText").innerHTML=`Turn Lights On`;
      document.getElementById("darkModeIcon").className="zmdi zmdi-brightness-5";
    }
    else {
      document.getElementById("darkModeText").innerHTML=`Turn Lights Off`;
      document.getElementById("darkModeIcon").className="zmdi zmdi-brightness-3";
    }
  }

0 个答案:

没有答案