Javascript 刷新后保留web更改
我刚刚使用JS添加了一个黑暗模式和货币切换程序,但是刷新页面后更改不会保存。有人知道如何在以下代码上使用localStorage吗?可以在以下网站上看到更改 黑暗主题:Javascript 刷新后保留web更改,javascript,jquery,local-storage,Javascript,Jquery,Local Storage,我刚刚使用JS添加了一个黑暗模式和货币切换程序,但是刷新页面后更改不会保存。有人知道如何在以下代码上使用localStorage吗?可以在以下网站上看到更改 黑暗主题: var-icon=document.getElementById(“icon-phone”); icon.onclick=函数(){ document.body.classList.toggle(“暗主题”); if(document.body.classList.contains(“暗主题”)){ icon.src=“./as
var-icon=document.getElementById(“icon-phone”);
icon.onclick=函数(){
document.body.classList.toggle(“暗主题”);
if(document.body.classList.contains(“暗主题”)){
icon.src=“./assets/images/sun.png”;
}否则{
icon.src=“./assets/images/moon.png”;
}
}
var icon=document.getElementById(“icon”);
icon.onclick=函数(){
document.body.classList.toggle(“暗主题”);
if(document.body.classList.contains(“暗主题”)){
icon.src=“./assets/images/sun.png”;
}否则{
icon.src=“./assets/images/moon.png”;
}
}
您可以使用localStorage.setItem('key','value')
来设置和localStorage.getItem('key')
来读取localStorage项
例如,您可以设置localStorage.setItem('dark-theme',true)
,然后使用localStorage.getItem('dark-theme')
检索它
您可以使用
localStorage.setItem('key','value')
来设置和localStorage.getItem('key')
来读取localStorage项
例如,您可以设置localStorage.setItem('dark-theme',true)
,然后使用localStorage.getItem('dark-theme')
检索它
您在哪里使用localStorage设置和获取值?您在哪里使用localStorage设置和获取值?您好,我尝试了以下代码,但没有成功:(@HassanMouhou请尝试更新的代码,因为localStorage将变量存储为字符串而不是实际的布尔值,您必须首先比较它。现在它可以工作了,谢谢。如何对图标(太阳和月亮)执行相同的操作不变well@HassanMouhou你说不更改是什么意思?你可以将if语句移到外部,也可以将它复制到onclick方法外部,以便在代码初始执行时应用。很抱歉,我没有解释清楚。现在如果我单击月亮图标,黑色主题将被激活,并显示太阳图标。当我刷新e页面黑暗主题仍处于激活状态,但图标切换回月亮,我希望太阳图标在黑暗主题仍处于激活状态时保持显示,并且在刷新页面时不会更改。您好,我尝试了以下代码,但没有成功:(@HassanMouhou请尝试更新的代码,因为localStorage将变量存储为字符串而不是实际的布尔值,您必须首先比较它。现在它可以工作了,谢谢。如何对图标(太阳和月亮)执行相同的操作不变well@HassanMouhou你说不更改是什么意思?你可以将if语句移到外部,也可以将它复制到onclick方法外部,以便在代码初始执行时应用。很抱歉,我没有解释清楚。现在如果我单击月亮图标,黑色主题将被激活,并显示太阳图标。当我刷新e页面黑暗主题仍处于激活状态,但图标切换回月亮,我希望太阳图标在黑暗主题仍处于激活状态时保持显示,并且在刷新页面时不会更改。
var isDarkTheme = window.localStorage.getItem('dark-theme');
if (isDarkTheme === null) {
isDarkTheme = false;
} else {
isDarkTheme = isDarkTheme === 'true'
}
var icon = document.getElementById("icon-phone");
if (isDarkTheme) {
document.body.classList.add('dark-theme')
}
icon.onclick = function () {
isDarkTheme = !isDarkTheme;
if (isDarkTheme) {
document.body.classList.add('dark-theme');
} else {
document.body.classList.remove('dark-theme');
}
window.localStorage.setItem('dark-theme', isDarkTheme);
if (document.body.classList.contains("dark-theme")) {
icon.src = "./assets/images/sun.png";
} else {
icon.src = "./assets/images/moon.png";
}
}