我正在尝试为我们的博客制作一个可折叠的日期选择器。我查看了大量 JavaScript/jquery/css 示例,但似乎无法让它们中的任何一个与 3 级列表一起正常工作。这是我要完成的布局:
>2012
>July
>title of muh new blag!
这里是标签:
<ul class="example_menu">
<li><a class="expanded">Section A</a>
<ul>
<li><a href="#">Link A-A</a>
<ul>
<li><a href="#">Link A-A-A</a></li>
<li><a href="#">Link A-A-B</a></li>
</ul>
</li>
<li class="active"><a href="#">Link A-B</a></li>
<li><a href="#">Link A-C</a></li>
<li><a href="#">Link A-D</a></li>
</ul>
</li>
<li class="footer"><span> </span></li>
<li><a class="collapsed">Section B</a>
<ul>
<li><a href="#">Link B-A</a>
<ul>
<li><a href="#">Link B-A-A</a></li>
<li><a href="#">Link B-A-B</a></li>
<li><a href="#">Link B-A-C</a></li>
</ul>
</li>
<li><a href="#">Link B-B</a>
<ul>
<li><a href="#">Link B-B-A</a></li>
<li><a href="#">Link B-B-B</a></li>
</ul>
</li>
<li><a href="#">Link B-C</a></li>
<li><a href="#">Link B-D</a></li>
</ul>
</li>
<li class="footer"><span> </span></li>
<li><a class="collapsed">Section C</a>
<ul>
<li><a href="#">Link C-A</a></li>
<li><a href="#">Link C-B</a></li>
<li><a href="#">Link C-C</a></li>
<li><a href="#">Link C-D</a></li>
</ul>
</li>
<li class="footer"><span> </span></li>
</ul>
我正在尝试做一些简单的事情,比如 blogspot 的博客存档。(在这个人的页面上在这里查看)
我发现并且最喜欢这个的是这个。在去掉了很多额外的代码之后,我得出了这个:
$('.example_menu li > .expanded').show('normal');
$('.example_menu li > a').click(function() {
$(this).toggleClass('expanded').toggleClass('collapsed').parent().find('ul').toggle('normal');
});
此列表扩展和收缩,非常适合简单的 2 级列表,例如:
>Year
>Month
但是,对于 3 级列表,它要么在扩展 2 个更深的级别时折叠,要么同时扩展两个级别。我正在尝试使最下方的列表折叠/展开,并让最下方的列表折叠直到直接激活。
有没有更简单的 jquery 可折叠列表?
或者有没有一种很好的方法来获取直接的内部 ul 元素并切换该元素,同时将所有其他内部 ul 元素转换为折叠?