Javascript 本地存储没有';t存储多个滑动切换的状态

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">

我想用slideToggle做一个多重垂直菜单,并将切换状态存储在本地存储器中,我不明白为什么不存储该状态

我发现这个例子()是有效的,但当我试图超越它来满足我的实际需要()时,就没有更多的本地存储了

<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()
要打开或关闭它,非常感谢您的帮助!我终于成功了,我的密码笔工作得很好