Bootstrap 引导树菜单-除选定项外,默认情况下折叠

8zzbczxx  于 2022-12-07  发布在  Bootstrap
关注(0)|答案(2)|浏览(180)

我正在使用Twitter Bootstrap自带的树折叠来构建我的菜单。我遇到的问题是,我希望所有菜单列表都默认折叠,除了我们当前所在的菜单列表。下面是一个菜单示例:http://bootply.com/72086
例如,如果用户当前在Bootstrap --〉Buttons --〉Colors页面,那么除了Bootstrap --〉Buttons --〉Colors之外,所有顶层菜单都应该折叠,并且Buttons下面的窗体也应该折叠。有人知道怎么做吗?

xsuvu9jc

xsuvu9jc1#

定义单击事件后,在开始处切换 * 所有内容 * 以关闭或折叠它。

//you already have this:
$('.tree-toggle').click(function () {
    $(this).parent().children('ul.tree').toggle(200);
}); 
//add this line:
$('.tree-toggle').parent().children('ul.tree').toggle(1000);

所以我们告诉它在一开始就“做所有事情”一次,而不等待任何人点击它。你可以改变切换持续时间为任何你想要的:在我的例子中,我希望用户在页面加载时能够看到许多可用的选项,而且它还提供了一个很好的动画效果。
参见工作示例:http://cssdeck.com/labs/fialo63a
要使选定的类保持打开状态,可以用另一个类名标记它,并切换到在关闭所有内容后打开它。
于飞:

<li><label class="tree-toggle nav-header selected">Bootstrap</label>

Javascript语言:

//add this line:
$('.selected').parent().children('ul.tree').toggle(200);

...所以这可能是一种迂回的方式,但我们折叠所有内容,然后在加载页面时展开“选定”的内容。注意:如果您希望保持打开的“选定”部分不在顶层,那么您还必须展开其所有父级(即,将它们也标记为“选定”)。

inn6fuwd

inn6fuwd2#

尝试使用以下方法实现树:

.siblings()

以下是一个示例:jsfiddle

相关问题