使用 localStorage.setItem 保持相同的 show/hide div

Use localStorage.setItem to keep same show/hide divs

我在主页上使用一个功能。一切正常,我只是想知道如何在单击 link 并进入另一页时在页面中保留 select 语言。

例如id="en"是默认的语言,但是如果我想在我的主页使用id="fr",点击link谁会发给我在另一页。我会回到id="en"。因此,为了保持相同的语言,我该如何使用此功能:

localStorage.setItem("language", selectedLanguage);
currentlanguage= localStorage.getItem("language"); 

这是我用来切换语言的函数的jsfiddle:

https://jsfiddle.net/kodjoe/chvw181j/

$(document).ready(function() {
  $('.lan').hide();
  $('.en').show();
});

$('.button').click(function(event) {
  $('.lan').hide();
  var selectedLanguage = $(this).attr('id');
  var setActiveLanguage = "." + selectedLanguage;
  $(setActiveLanguage).show();

localStorage.setItem("language", selectedLanguage);
currentlanguage= localStorage.getItem("language"); 
});
.button {
  cursor: pointer;
  padding: 0px 30px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a class="button" id="en">EN</a>
<a class="button" id="fr">FR</a>
<a class="button" id="de">DE</a>


<div class="lan en">1</div>
<div class="lan fr">2</div>
<div class="lan de">3</div>
<div class="lan en">4</div>
<div class="lan fr">5</div>
<div class="lan de">6</div>

首先存储你的值

$('.button').click(function(event) {
  $('.lan').hide();
  var selectedLanguage = $(this).attr('id');
  var setActiveLanguage = "." + selectedLanguage;
  $(setActiveLanguage).show();

localStorage.setItem("language", selectedLanguage); //storing under the key of language

});

然后在 .ready 函数

中获取准备就绪的值
var langStored = localStorage.getItem("language");

如果没有存储任何值,它将 return null

因此,在获得 langStored 和获得 null

时,请在此处设置条件

扫一眼:codepen

设置/获取本地存储项目。

localStorage.setItem('selectedLang', $(this).attr('id'));

localStorage.getItem('selectedLang');

文档:HTML5 Web Storage

示例代码

$(document).ready(function() {
    $('.lan').hide();
    var classSel = localStorage.getItem('selectedLang') ? localStorage.getItem('selectedLang') :  'en';
    //Get the value from localStorage and show that class only
    $('.'+classSel).show();

    $('.button').click(function(event) {
        $('.lan').hide();
        $("." + $(this).attr('id')).show();
        //Set the localStorage value
        localStorage.setItem('selectedLang', $(this).attr('id'));
    });
});