javascript - 我的 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;
解决方案
推荐阅读
- google-analytics - 如何在 view_item_list 事件之间分离数据?
- android - 初始化 ViewModel 时出错(运行时错误) - Kotlin
- go - 如何在 go 中打乱包的测试顺序?
- visual-studio-code - 附加调试器时,Cloud Code Kubernetes 在 VS Code 中产生 python enoent 错误
- javascript - 如何为对象属性的可变引用赋值?
- java - 我有更新我的 recyclerview 的问题
- c# - C# 10 .Net 6 MinBy MaxBy Linq 投影到单个属性
- android - 如何从我的实时数据库中获取 imageurl 并将其应用于我的适配器代码
- visual-studio-code - 无法在 VSCode 中运行 springboot 应用程序
- reactjs - 可以在已经开发的应用程序 MERN 中实现 Socket.io 吗?