我使用以下 jquery 函数取得了很大的成功。它允许您在单击标题之前隐藏内容,然后展开 ul 项目。我喜欢这个功能,但是我真的希望一次只打开一个 ul。我怎样才能使它在单击标题时展开该标题,并折叠所有其他打开的标题?
<script type="text/javascript">
$(document).ready(function() {
setTimeout(function() {
// Slide
$('#expandable_menu > ul > a.expanded + li').slideToggle('slow');
$('#expandable_menu > ul > a').click(function() {
$(this).toggleClass('expanded').toggleClass('collapsed').parent().find('> li').slideToggle('slow');
});
}, 250);
});
</script>
这是扩展和折叠的东西的结构。
<ul id="expandable_menu" class="expandable_menu">
<ul>
<a class="expanded">TITLE</a>
<li class="expandablemenu" ">
<ul>
<li>
<div> This is where the content goes </div>
</li>
</ul>
</li>
</ul>
<ul>
<a class="expanded">TITLE</a>
<li class="expandablemenu" ">
<ul>
<li>
<div> More content! </div>
</li>
</ul>
</li>
</ul>
</ul>