localStorage onload显示我选择的div?

时间:2018-12-09 17:32:22

标签: javascript jquery html css

如何使用localStorage显示hide div,例如如果我选择IT,onload show div IT。

我的js代码

itlang = document.getElementById('LangIT');         
itlang.onclick = function(event) {
        localStorage.setItem('a_avlang', '1');
        $('.avlan').hide();
        $('.av-it').show();
}; 
if (a_avlang === '1') {
    localStorage.getItem('a_avlang', '1');
    $('.avlan').hide();
    $('.av-it').show();
} else {
    localStorage.setItem('a_avlang', '0');
    $('.av-it').hide();
  }
}

我的按钮html

<a class="avlangbuttons" href="#it" id="LangIT" target="_self">IT</a>
<a class="avlangbuttons" href="#en" id="LangEN" target="_self">EN</a>

我的div显示/隐藏html

<div class="avlan av-it" style="display:none;"> 
IT
</div>

<div class="avlan av-en"> 
EN
</div>

1 个答案:

答案 0 :(得分:1)

您的语法无效。

  1. localStorage.getItem('a_avlang', '1');无效,getItem上只有一个参数
  2. 为什么在使用jQuery时为什么使用getElementById和onclick?

我的猜测是你的意思

function toggleAV(lang) {
  $('.av-it').toggle(lang=="LangIT");
  $('.av-en').toggle(lang=="LangEN");
  localStorage.setItem('a_avlang', lang); // saves LangEN or LangIT
}
$(function() { // onload 
  $('.avlangbuttons').on("click", function(event) {
     event.preventDefault(); // stop the click
     toggleAV(this.id); 
  });
  toggleAV(localStorage.getItem('a_avlang') || "LangEN"); // if exists otherwise english
});

或者使用数据属性代替解析ID