我不确定是什么问题,因为这与bootstrap网站非常相似
一旦点击了第一个元素(列表A),它就会中断。其他元素没问题,但是一旦单击列表A就会中断。
<div class="accordion" id="notification_types">
<div class="accordion-group">
<div class="accordion-heading">
<a class="accordion-toggle" data-parent="#notification_types"
data-toggle="collapse" href="#a">List A</a>
</div>
<div class="accordion-body collapse" id="a" style="height: 0px;">
</div>
</div>
<div class="accordion-group">
<div class="accordion-heading">
<a class="accordion-toggle" data-parent="#notification_types"
data-toggle="collapse" href="#b">List B</a>
</div>
<div class="accordion-body collapse" id="b" style="height: 0px;">
<div class="accordion-inner" dir="auto" id="a123">
<a data-method="get" data-remote="true" href="/123">123</a>
</div>
</div>
</div>
<div class="accordion-group">
<div class="accordion-heading">
<a class="accordion-toggle" data-parent="#notification_types"
data-toggle="collapse" href="#c">List C</a>
</div>
<div class="accordion-body collapse" id="c" style="height: 0px;">
<div class="accordion-inner" dir="auto" id="a456">
<a data-method="get" data-remote="true" href="/456">456</a>
</div>
</div>
</div>
</div>
我在jsfiddle中做了一个例子 - http://jsfiddle.net/uycBa/157/ 测试时,按下列表B或C之前,因为按A会打破整个事情......
这里有什么问题?
答案 0 :(得分:2)
将div添加到第一个手风琴身上工作。无法找到原因。
<div class="accordion" id="notification_types">
<div class="accordion-group">
<div class="accordion-heading">
<a class="accordion-toggle" data-parent="#notification_types"
data-toggle="collapse" href="#a">List A</a>
</div>
<div class="accordion-body collapse" id="a" style="height: 0px;">
<div class="accordion-inner">
</div>
</div>
</div>
<div class="accordion-group">
<div class="accordion-heading">
<a class="accordion-toggle" data-parent="#notification_types"
data-toggle="collapse" href="#b">List B</a>
</div>
<div class="accordion-body collapse" id="b" style="height: 0px;">
<div class="accordion-inner" dir="auto" id="a123">
<a data-method="get" data-remote="true" href="/123">123</a>
</div>
</div>
</div>
<div class="accordion-group">
<div class="accordion-heading">
<a class="accordion-toggle" data-parent="#notification_types"
data-toggle="collapse" href="#c">List C</a>
</div>
<div class="accordion-body collapse" id="c" style="height: 0px;">
<div class="accordion-inner" dir="auto" id="a456">
<a data-method="get" data-remote="true" href="/456">456</a>
</div>
</div>
</div>
</div>
答案 1 :(得分:1)
已知错误:https://github.com/twitter/bootstrap/issues/5849
转换阻止了插件,因为您的第一个可折叠没有高度:
插件处于转换状态,正在等待转换结束,但由于元素的高度为0,转换从未开始且不会结束(我认为是这样) 。当插件处于此状态时,插件不会执行任何操作。
如果您停用转场,则可以看到它:http://jsfiddle.net/Sherbrow/uycBa/158/
您可以通过preventDefault()
事件{/ 1>}上的show
来停止此操作
$('.accordion-body.empty').on('show', function(event) {
event.preventDefault();
});
(标记中还添加empty
以找到空的手风琴体)