我想我的手风琴按钮被点击时仍然是当前的
状态,即使在刷新页面或转到新页面之后。
<div>
<a onClick="AccFunc('BTN1')" href="#">Releases</a>
<div id="BTN1">
<a>January</a>
<a>December</a>
</div>
</div>
<script>
function AccFunc(id) {
var x = document.getElementById(id);
$(x).toggle();
var isVisible = $(x).is(":visible");
localStorage.setItem('visible', isVisible);
}
// stored in localStorage as string, `toggle` needs boolean
var isVisible = localStorage.getItem('visible') === 'false' ? false : true;
$(x).toggle(isVisible);
</script>
最佳答案
Javascript正在检查localStorage,并试图在DOM准备好之前更改它,因此需要添加代码以等待DOM准备好。此外,该代码不知道x
是什么。
我在小提琴里把它改成了下面的(https://jsfiddle.net/jupjh7hL/6/),它按我想的那样工作。$(document).ready(function(){ var isVisible = localStorage.getItem('visible') === 'false' ? false : true; $('#BTN1').toggle(isVisible);})
关于javascript - 即使在刷新或转移页面后仍保持 Accordion 状态,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48858653/