展开/折叠所有嵌套的手风琴和非手风琴项目:BOOTSTRAP
Expand/Collapse All with a nested accordion and non-accordion item: BOOTSTRAP
我刚学编程和Twitter Bootstrap 2个月,所以请大家谅解!
我做了大量的挖掘和搜索,但我不确定我使用的术语是否正确,所以我想我应该直接问。
我试图创建一个扩展/折叠所有按钮,将展开或在标题标题下折叠所有项目。标题标题下的项包括一个文本片段和一个图像。我希望能够通过单击标题头展开/折叠文本块。我希望能够通过单击按钮来扩展/折叠文本和图像。
问题是:我想按钮展开/折叠一切,不管文本块是展开还是折叠。
这是jsfiddle: http://jsfiddle.net/mcfly303/XXXYn/1/
正如你所看到的,按钮将切换项目打开或关闭相反的当前状态。是否有一种方法来做一个"通用"展开/折叠,不管嵌套的项目是展开还是折叠?
基本上我想"切换所有"按钮只导致a)标题或b)标题和图像。
提前感谢任何帮助!!!!
我的html:
<div class="well sidebar-nav" id="sidebar">
<ul class="nav nav-list">
<li><a href="#" class="expandcollapse">Toggle All</a>
</li>
</ul>
</div>
<div class="accordion" id="accordion1">
<div class="accordion-group">
<div class="row-fluid">
<div class="span9">
<div class="accordion-heading"> <a class="accordion-toggle" data-toggle="collapse" data-parent="#accordion1" href="#collapseOne">
<h2>COOL HAND LUKE</h2>
</a>
</div>
</div>
</div>
<div id="collapseOne" class="accordion-body collapse">
<div class="accordion-inner">
<div class="mainList"> <a href="#">Paul Newman Movies</a> <a href="#"> <i class="icon-white icon-th-list"></i></a>
</div>
</div>
</div>
</div>
</div>
<div id="collapseMain" class="accordion-body collapse in">
<div class="accordion-inner">
<div class="row-fluid">
<div class="span12">
<img src="http://www.samefacts.com/wp-content/uploads/2012/12/CoolHandLuke_135Pyxurz.jpg" alt="">
</div>
</div>
</div>
</div>
我的javascript:
$('.expandcollapse').click(function () {
$('.collapse').each(function (index) {
$(this).collapse("toggle");
});
});
编辑:所以我部分明白了。jsfiddle: http://jsfiddle.net/mcfly303/XXXYn/4/我将按钮分成两个单独的按钮,以便清楚地标记我想要实现的每个功能。然而,还是有一个问题。即在加载时,第一次点击标题视图按钮将切换文本打开和图片关闭。同样,在加载时,第一次点击标题和图像按钮将切换文本打开并保持图像打开。
第一次点击后,一切正常,澄清(并修改我上面的错误陈述)是:点击标题视图-折叠除标题以外的所有内容。点击标题将展开/折叠文本块点击标题和图像视图-展开到标题和图像。点击Title将展开/折叠文本
如果有人可以帮助解决这最后一种"首次点击问题",我将非常感激!
谢谢。
更新后的JS:
var isCollapsed = false;
$('.expandcollapse').click(function () {
var collapseCommand = isCollapsed ? "show" : "hide";
$('.collapse').each(function () {
$(this).collapse(collapseCommand);
});
isCollapsed = !isCollapsed;
});
我还将in
类添加到#collapseOne
,因此页面最初正确显示。
基于您的编辑生成新代码:
$('.titleView').click(function () {
$('#collapseOne, #collapseMain').collapse('hide');
});
$('.fullStubView').click(function () {
$('#collapseOne, #collapseMain').collapse('show');
});
除非我错过了什么,似乎这解决了问题。jsFiddle
- 我怎么能同时去锚定并打开Bootstrap手风琴呢
- Bootstrap折叠手风琴一个面板打开,所有其他面板关闭
- 打开后禁用Bootstrap手风琴
- Bootstrap手风琴禁用控制
- Bootstrap手风琴标签不折叠
- Bootstrap手风琴标签未打开
- Bootstrap手风琴/可折叠不适用于ul/li导航
- 如何在没有数据标记的情况下将bootstrap 3 collapse用于手风琴
- 禁用 Bootstrap 3 折叠手风琴中的切换选项
- 防止 Bootstrap 3 手风琴的奇怪行为.
- 在 Bootstrap 3 手风琴中添加动态闭合面板
- 我是否可以在 Bootstrap 3 中为折叠手风琴指定一个相对的“数据目标”,同时保留“折叠其他”功能
- Angular UI Bootstrap 0.8.0手风琴在IE8中未显示所选值
- Bootstrap手风琴切换逻辑
- Twitter Bootstrap手风琴功能
- Bootstrap Angular.js手风琴不自动折叠
- Bootstrap手风琴没有折叠
- Bootstrap手风琴,在标题面板中显示/隐藏文本
- bootstrap手风琴无法在自定义opencart主题的结账页面中工作
- Bootstrap手风琴式拼接,带纽扣