首页 > 解决方案 > 我的 localStorage 值没有按照我想要的方式工作,这是为什么呢?

问题描述

暗模式切换按我想要的方式工作,但是当我在暗模式下刷新页面时,可以说值“不同步”,我不知道为什么。这是我的代码:

var state;
state = 1;
function store() {
    localStorage.getItem("state");
    if(state==0  || state == undefined){
        state = 1;
        localStorage.setItem("state", 1);
    }
    else if (state==1){
        state = 0;
        localStorage.setItem("state", 0);
    }
    localStorage.setItem("state", state);
}

function check(){
    x = localStorage.getItem("state");
    if(x==0){
        var element = document.body;
        element.classList.toggle("darkMode");
    }
    else if(x==null){
        alert("Your browser or its settings don't work with localStorage");
    }
}

function change(){
    var element = document.body;
    element.classList.toggle("darkMode");
    var elem = document.getElementById("button");
    if (elem.innerHTML=="Dark mode"){
        elem.innerHTML = "Light mode";
    }
    else{
        elem.innerHTML = "Dark mode";
    }
}
window.onload = check;

标签: javascripthtmllocal-storagedarkmode

解决方案


推荐阅读