javascript - 引导切换开关以在刷新后保持值

标签 javascript

打开切换开关后,我想更改背景颜色和文本颜色。 页面刷新时如何保存状态

        <script>
    document.getElementById("switch1").onclick = function() {
      myFunction()
    };

    function myFunction() {
      let color = document.body.style.background;
      if (color === 'black') {
        document.body.style.background ="white";
          document.body.style.color = "black";


      } else {
          document.body.style.background = "black";
          document.body.style.color = "white";

      }

    }
  </script>

    <form>
      <div class="custom-control custom-switch">
        <input type="checkbox" class="custom-control-input" id="switch1">
        <label class="custom-control-label" for="switch1">Dark Mode</label>
       </form>

最佳答案

您可以使用 localStorage为了这。每次您运行该函数时,我们都会更新存储在本地存储中的一个名为“darkMode”的 key ,然后在重新加载网页时只需检查此 key

片段不适用于 localStorage,因此 here is a CodePen我赶紧演示

document.addEventListener("DOMContentLoaded", function() {
  if (localStorage.getItem('darkMode') === 'true') {
    // Black Background
    document.getElementById("switch1").checked = true;
    document.body.style.background = "black";
    document.body.style.color = "white";
  } else {
    // White Background
    document.body.style.background = "white";
    document.body.style.color = "black";
  }
});

document.getElementById("switch1").onclick = function() {
  myFunction()
};

function myFunction() {
  let color = document.body.style.background;

  if (color === 'black') {
    localStorage.setItem('darkMode', 'false');
    document.body.style.background = "white";
    document.body.style.color = "black";
  } else {
    localStorage.setItem('darkMode', 'true');
    document.body.style.background = "black";
    document.body.style.color = "white";
  }
}

关于javascript - 引导切换开关以在刷新后保持值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59461019/

相关文章:

javascript - 将日期字符串转换为 Date 对象

javascript - 当我需要阻塞调用时如何处理 Ember 中的异步属性?

javascript - 如何在 Node 上的 .dust 文件上使用 connect-flash 和 express-messages 显示消息

Javascript .getElementsByClassName 不起作用

javascript - Python 脚本无法保存连接器 - Enterprise Architect

javascript - 如何将图像从一个 html 页面更改为另一个?

javascript - 基于 CSS 类的选择性显示/隐藏有困难

javascript - 如何在json中给出本地文件的url路径

javascript - 按升序排列数组

javascript - 如何显示视频播放结束的 html5 视频海报?