【发布时间】:2016-02-10 10:53:42
【问题描述】:
我有一个带有可折叠(使用 Bootstrap 3.0 Collapse)内容的嵌套树导航,其中包含默认列表样式的图标。我想在折叠区域扩展时更改图标。 但是当我关闭内部折叠区域时,所有图标都变回来了。
我是一个 javascript 新手,并从this 帖子中获取了代码。它将类.icon-right 添加到shown.bs.collapse 上的li 元素,并在hidden.bs.collapse 上删除它。但它并不只适用于目标元素。
如何编辑它以仅针对正在关闭的图标?
这是 CodePen 上的代码:http://codepen.io/anon/pen/PPyrQg。
HTML
<ul class="ls-nav">
<li id="expand1">
<a role="button" data-toggle="collapse" href="#collapseContent1" aria-expanded="true" aria-controls="collapseContent1">Lorem Ipsum
</a>
<div class="collapse" id="collapseContent1">
<ul class="ls-inner">
<li>Lorem</li>
<li>Lorem</li>
<li>Lorem</li>
<li>Lorem</li>
<li id="expand2">
<a role="button" data-toggle="collapse" href="#collapseContent2" aria-expanded="true" aria-controls="collapseContent2">Lorem Ipsum
</a>
<div class="collapse" id="collapseContent2">
<ul class="ls-inner-dot">
<li class="active">Lorem</li>
<li>Lorem</li>
</ul>
</div>
</li>
<li>Lorem</li>
</ul>
</div>
</li>
<li>Lorem</li>
<li>Lorem</li>
<li>Lorem</li>
</ul>
JS
$('#collapseContent1').on('shown.bs.collapse', function () {
$("#expand1").addClass("icon-down");
});
$('#collapseContent1').on('hidden.bs.collapse', function () {
$("#expand1").removeClass("icon-down");
});
$('#collapseContent2').on('shown.bs.collapse', function () {
$("#expand2").addClass("icon-down");
});
$('#collapseContent2').on('hidden.bs.collapse', function () {
$("#expand2").removeClass("icon-down");
});
我已经找了两天了,如果有人可以帮助我,我会很高兴。
【问题讨论】:
标签: javascript jquery html css twitter-bootstrap