首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >刷新后保持网页更改

刷新后保持网页更改
EN

Stack Overflow用户
提问于 2021-04-29 15:30:45
回答 1查看 66关注 0票数 0

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

黑暗主题:

代码语言:javascript
复制
var icon = document.getElementById("icon-phone");

icon.onclick = function () {
  document.body.classList.toggle("dark-theme");

  if (document.body.classList.contains("dark-theme")) {
    icon.src = "./assets/images/sun.png";
  } else {
    icon.src = "./assets/images/moon.png";
  }
}

var icon = document.getElementById("icon");

icon.onclick = function () {
  document.body.classList.toggle("dark-theme");

  if (document.body.classList.contains("dark-theme")) {

    icon.src = "./assets/images/sun.png";
  } else {
    icon.src = "./assets/images/moon.png";
  }
}
EN

回答 1

Stack Overflow用户

发布于 2021-04-29 15:39:44

您可以使用localStorage.setItem('key', 'value')设置和localStorage.getItem('key')读取localStorage项。

例如,您可以设置localStorage.setItem('dark-theme', true),然后使用localStorage.getItem('dark-theme')检索它。

代码语言:javascript
复制
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";
  }
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67320514

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档