我已经设置了这个简单版本的Bootstrap accordion:
Simple accordion: http://jsfiddle.net/darrenc/cngPS/
目前该图标仅指向 down ,但是有人知道需要实现什么JS才能将图标的类更改为:
<i class="icon-chevron-up"></i>
...当 expanded 时它指向 up 并在折叠时再次切换回 down ,那么第四个?
我已经设置了这个简单版本的Bootstrap accordion:
Simple accordion: http://jsfiddle.net/darrenc/cngPS/
目前该图标仅指向 down ,但是有人知道需要实现什么JS才能将图标的类更改为:
<i class="icon-chevron-up"></i>
...当 expanded 时它指向 up 并在折叠时再次切换回 down ,那么第四个?
18 回答
对于那些正在寻找Bootstrap 3(就像我自己)的解决方案的人来说,这就是答案 .
HTML部分:
js部分:
手风琴示例:
Bootply accordion example
这是我对Bootstrap 2.x的方法 . 这只是一些CSS . 无需JavaScript:
只需将class accordion-caret添加到accordion-group div中,如下所示:
Bootstrap Collapse有一些您可以做出反应的事件:
使用CSSes伪选择器:在使用Bootstrap 3的集成Glyphicons进行 no JS answer 之后对您的HTML进行少量修改...
CSS
HTML
将
class="collapsed"
添加到默认关闭的任何锚标记 .这会变成诸如的锚
成
CodePen Live Example
http://codepen.io/anon/pen/VYobER
Screenshot
添加到@muffls答案,以便这适用于所有Twitter引导程序崩溃并在动画开始之前更改箭头 .
根据您的HTML结构,您可能需要修改
parent()
.我认为最好的代码是:
如果有人有兴趣,这就是你如何使用BS3,因为他们改变了事件名称:
您只需将示例中的类名更改为您在案例中使用的类名 .
这是我的解决方案,由@ john-magnolia发布的解决方案进一步完善,并解决了一些问题
以下是示例标记:
一个bootstrap v3解决方案(其中事件具有不同的名称),也只使用一个jQuery选择器(如here所示):
最可读的CSS解决方案可能是使用aria-expanded属性 . 请记住,您需要将aria-expanded =“false”添加到所有collapse元素,因为这不会在加载时设置(仅在第一次单击时) .
HTML:
CSS:
适用于Bootstrap 3.x.
这就是我没有任何js的方式 .
我使用了图标glyphicon-triangle-right但它适用于任何其他图标,它的作用是当面板打开或不打开时它对图标应用90度旋转 . 我正在使用 Bootstrap 3.3.5 这个 .
CSS代码
这是从Bootstrap示例中获取的HTML结构
以上都没有为我工作,但我提出了这个并且它有效:
HTML实现:
@RobSadler:
RE Martin Wickman的CSS版本......
您可以通过将accordion-caret放在锚标记上并默认为其提供折叠类来解决该问题 . 像这样:
这对我有用 .
对于Bootstrup 3.2 FontAwesome
有时你必须这样写 . 如果是这样
按下隐藏菜单时自动生成(class =“collapsed”) .
ps当你需要创建树状菜单时
这已经通过多种方式得到了解答,但我想出的最简单,最简单的用Bootstrap 3和字体真棒 . 我已经做了
这只是切换我想要显示的图标的CSS类 . 我将类切换器添加到我想要应用它的项目 . 这可以添加到您想要切换图标的任何项目上 .
另一个使用折叠功能的no-javascript解决方案:
对于使用Bootstrap 3的仅CSS(和无图标)解决方案,我不得不根据Martin Wickman的上述答案进行一些调整 .
我没有使用手风琴 - *表示法,因为它是用BS3中的面板完成的 .
另外,我必须在页面加载时打开的项目中包含初始HTML aria-expanded =“true” .
这是我使用的CSS .
这是我的清理HTML:
最短的答案 .
HTML
<a data-toggle="collapse" data-parent="#panel-quote-group" href="#collapseQuote"> <span class="toggle-icon glyphicon glyphicon-collapse-up"></span> </a>
JS:
<script type="text/javascript"> $(function () { $('a[data-toggle="collapse"]').click(function () { $(this).find('span.toggle-icon').toggleClass('glyphicon-collapse-up glyphicon-collapse-down'); }) }) </script>
当然,您可以使用任何选项而不是锚标记
a
,如果您的图标位于单击元素之外,您还可以使用特定选择器而不是this
.