【发布时间】:2015-02-18 03:40:27
【问题描述】:
我正在使用引导程序,并且我正在使用侧导航在页面左侧提供可折叠列表。下面是我的代码。
<ul class="nav navbar-nav side-nav">
<li>
<a class="active" href="#" onclick="loadelementsonpage(); return false" data-toggle="collapse" data-target="#licomp1">
<i class="fa fa-fw fa-arrow-v"></i>Parent1
</a>
<ul id="licomp1" class="collapse">
<li><a href="#" onclick="loadelements1();">Child1</a></li>
<li><a href="#" onclick="loadelements2();">Child2</a></li>
<li><a href="#" onclick="loadelements3();">Child3</a></li>
</ul>
</li>
</ul>
我想使用切换加号和减号,而不是固定的<i class="fa fa-fw fa-arrow-v"></i>。如代码所示,单击 parent1 时我正在调用一个函数。但是当我尝试扩展 ul 时,每次都会调用函数loadelementsonpage()。所以,我希望列表仅在单击该切换图像时折叠。同样,我只想在单击该切换图像的外部区域时调用loadelementsonpage()。我将此数据切换和数据目标更改为 i 类,但问题是该函数仍在被调用,如果我将 i 类移出标签,样式就会混乱。
那么有人可以解释一下如何在父 li 上设置不同的点击区域吗?一种是折叠,另一种是调用函数加载右侧内容页面。
P.S: 尝试实现这种http://cssmenumaker.com/menu/modern-jquery-accordion-menu 类型的侧导航列表,其中 + 或 - 应该是可点击的,仅用于展开和折叠。请单击该链接中的在线构建以查看侧面导航。其他区域(除了 + 和 - 图标)应作为链接 href 来加载页面。
【问题讨论】:
-
我喜欢这种效果。也很简单,不需要 JavaScript。 jsfiddle.net/cLnn9ynf/3
-
@SecondRikudo 嗨,对不起,我已尽力详细说明。再次简短地说,我一直在尝试仅在单击按钮时展开和折叠列表。其他区域应该可以单击以执行其他操作(例如,调用 javascript 函数)。请检查问题中提到的链接。
-
@rick 你在你的项目中使用 jQuery,对吧?
-
@RokoC.Buljan 是的,我使用 JQuery、Bootstrap,甚至我使用 this theme 进行侧导航。但它在同一次点击时结合了扩展和 a。我只想在单击 li 和其他区域上的按钮进行其他操作时展开/折叠。
标签: javascript html css twitter-bootstrap font-awesome