Javascript 本地存储没有';t存储多个滑动切换的状态
我想用slideToggle做一个多重垂直菜单,并将切换状态存储在本地存储器中,我不明白为什么不存储该状态 我发现这个例子()是有效的,但当我试图超越它来满足我的实际需要()时,就没有更多的本地存储了Javascript 本地存储没有';t存储多个滑动切换的状态,javascript,jquery,html,local-storage,slidetoggle,Javascript,Jquery,Html,Local Storage,Slidetoggle,我想用slideToggle做一个多重垂直菜单,并将切换状态存储在本地存储器中,我不明白为什么不存储该状态 我发现这个例子()是有效的,但当我试图超越它来满足我的实际需要()时,就没有更多的本地存储了 <div id="dropdown-1"> <div class="heading"> Click me </div> <ul class="content">
<div id="dropdown-1">
<div class="heading">
Click me
</div>
<ul class="content">
<li><a href="#">Link</a></li>
<li><a href="#">Link</a></li>
</ul>
</div>
<div id="dropdown-2">
<div class="heading">
Click me
</div>
<ul class="content">
<li><a href="#">Link</a></li>
<li><a href="#">Link</a></li>
</ul>
</div>
我希望开关的状态将存储在本地存储器中这应该会解决它
替换此行:
localStorage.openTabs = openTabs.join(',');
为此:
localStorage.setItem('openTabs', JSON.stringify(openTabs.join(',')))
if (localStorage.hasOwnProperty('openTabs'))
$(JSON.parse(localStorage.getItem('openTabs'))).click();
还有这个:
if (localStorage.openTabs)
$(localStorage.openTabs).click();
为此:
localStorage.setItem('openTabs', JSON.stringify(openTabs.join(',')))
if (localStorage.hasOwnProperty('openTabs'))
$(JSON.parse(localStorage.getItem('openTabs'))).click();
您的笔以正确的值显示
本地存储
。非常感谢!还有最后一件事我不明白:当我重新加载页面时,开关总是关闭的,即使我在重新加载之前打开了它,你知道它会从哪里来吗?是的,我明白。只要在if
语句中替换这一行:$(JSON.parse(localStorage.getItem('openTabs'))。单击()代码>这一行:$(JSON.parse(localStorage.getItem('openTabs'))。单击()。下一步(“.content”)。滑动切换()代码>如果对您有效,请将答案标记为“已接受!”:)是的,但结果总是一样的。这是因为在开始时有hide()吗?我注意到,如果我删除它,它仍然不起作用。在这种情况下,您可以在localStorage
中存储一个单独的变量,它只存储切换是打开的(设置为true
)还是关闭的(false
),然后使用if语句,您可以使用.slideToggle()
要打开或关闭它,非常感谢您的帮助!我终于成功了,我的密码笔工作得很好