Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/371.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 刷新后保留web更改_Javascript_Jquery_Local Storage - Fatal编程技术网

Javascript 刷新后保留web更改

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

我刚刚使用JS添加了一个黑暗模式和货币切换程序,但是刷新页面后更改不会保存。有人知道如何在以下代码上使用localStorage吗?可以在以下网站上看到更改

黑暗主题:

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";
  }
}