javascript - 如何在页面刷新或移动到另一个 HTML 子网站时保持 ToogleClass() 状态?

标签 javascript jquery html css

我的页面有几个 .html 子页面。每个页面上都有两个用于更改语言的“按钮”。有没有任何解决方案可以帮助我在页面刷新或移动到另一个子网站后保留当前选择的语言?

这是我的代码:

    // Language icons //
  var polIco = $('.language_ico_container').find('img').first();
  var engIco = $('.language_ico_container').find('img').last();

  engIco.toggleClass('transparency');

  function checkTransparency() {
    engIco.click(function () {
      $(this).toggleClass('transparency');
      if (engIco.hasClass('transparency')) {
        polIco.removeClass('transparency');
      } else {
        polIco.addClass('transparency');
      }
    });
    polIco.click(function () {
      $(this).toggleClass('transparency');
      if (polIco.hasClass('transparency')) {
        engIco.removeClass('transparency');
      } else {
        engIco.addClass('transparency');
      }
    });
  };
  // Call function checking transparency in language icons //
  checkTransparency();

  // English & Polish content selection //
  var languagePL = $('.pl');
  var languageEN = $('.eng');

  languageEN.toggleClass('hidden');

  function changeLanguage() {
    engIco.click(function () {
      languageEN.toggleClass('hidden');
      languagePL.toggleClass('hidden');
    });

    polIco.click(function () {
      languageEN.toggleClass('hidden');
      languagePL.toggleClass('hidden');
    });
  };
  // Call function changing content language
  changeLanguage();

和 CSS 类:

    .hidden {
    display: none;
}

    .transparency {
    opacity: 0.5;
}

最佳答案

LocalStorage 是一种用于跨浏览器 session 保存数据的解决方案。 您可以使用 session 存储来实现您的类,每次设置透明度类时,您都可以将其添加到本地存储中。

localStorage.setItem('class','transparency');

当您删除该类时,您还可以将其从本地存储中删除

 localStorage.removeItem('class');

当页面刷新时,您可以从 localStorage 设置类

localStorage.getItem('class');

关于javascript - 如何在页面刷新或移动到另一个 HTML 子网站时保持 ToogleClass() 状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46176462/

相关文章:

javascript - 蛇水平移动

javascript - 根据对象属性在 View 中创建条件?

javascript - 将整个 html 文档显示到框架中

html - 当我向上移动我的部分时如何删除 body 高度的额外空白

javascript - MVC 5 中带有日期选择器图标的文本框

javascript - node.js 请求中的多个 'Cookie' header

javascript - 如何根据相等的属性值合并对象数组?

jquery - 页脚动态增长时滚动页面

javascript - 网页无法自动适应移动浏览器

javascript - Jquery 保持分数并通过 "levels"取得进展