我试图弄清楚如何根据当前正在查看的页面动态激活jQuery UI Accordion菜单的正确内容部分。我进行了广泛的搜索,似乎其他人过去曾遇到过这个问题,但我还没有找到适合我的解决方案。我知道active
可以设置打开某个索引的菜单,但我需要动态地这样做。
我在想我可以使用该activate
方法实现我想要的,但我似乎无法弄清楚。我想远离设置 cookie,因为这通常不适用于后退/前进按钮和通过特定 URL 直接导航。有人有想法么?提前致谢!
这是我的菜单的简化结构:
<div id="menu">
<div id="sections">
<div class="grouping accordion">
<a id="heading1" href="#">Heading #1</a>
<div class="sub-items">
<a href="/item1">Item #1</a>
<br />
<a href="/item2">Item #2</a>
</div>
</div>
<div class="grouping accordion">
<a id="heading2" href="#">Heading #2</a>
<div class="sub-items">
<a href="/item4">Item #4</a>
<br />
<a href="/item5">Item #6</a>
</div>
</div>
</div>
</div>
这是我的 jQuery Accordion 初始化:
$('#sections').accordion({
header: '> .accordion > a',
autoHeight: false,
collapsible: true,
active: false,
animated: 'slide'
});
因此,例如,如果您当前在/item4
页面上,则应该展开 Heading #2 下的组。
编辑: 我发现似乎是一个很好的解决方案并将其发布为下面的答案,希望这会帮助有类似问题的人!