我有一個JSFiddle可以解決我的問題,link here。Bootstrap模式 - 打開元素的奇怪位置
- 打開模式
- 點擊字形
- 關閉模式
- 打開模式再次
現在你看到的是,無序列表放置有些奇怪。
HTML:
<button type="button" class="btn btn-info btn-lg" id="testBtn" data-toggle="modal" data-target="#myModal">Open Modal</button>
<div id="myModal" class="modal fade" role="dialog">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">×</button>
<h4 class="modal-title">Modal Header</h4>
</div>
<div class="modal-body">
<h4 id="test-h4"><strong>My header</strong> <i class="glyphicon glyphicon-chevron-down" data-toggle="collapse" data-target="#test-ul"></i></h4>
<ul class="list-group collapse" id="test-ul">
<li class="list-group-item">
<p>Maecenas quis libero turpis. Praesent accumsan suscipit ex, a viverra risus consectetur non. Suspendisse et elit viverra, cursus mauris eget, condimentum ante. Vivamus et libero odio. Nunc a urna mattis, vestibulum urna eu, aliquet nulla. Maecenas sit amet metus pulvinar velit cursus aliquet at non diam. In pretium, sem nec faucibus ullamcorper, arcu nibh semper turpis, quis pulvinar risus libero in enim. Suspendisse ultrices posuere pulvinar.</p>
</li>
</ul>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
</div>
</div>
</div>
</div>
的JavaScript:
$('.glyphicon-chevron-down').click(function() {
$(this).toggleClass('glyphicon-chevron-down glyphicon-chevron-up');
});
$("#testBtn").click(function() {
$("#test-ul").addClass('in');
$("#test-h4").find('i').removeClass('glyphicon-chevron-down');
$("#test-h4").find('i').addClass('glyphicon-chevron-up');
});
我已經去掉了所有不必要的代碼,這是何等的重要。
注:我想裏面的元素,當我點擊打開 莫代爾
由於被打開。
這是優秀的,非常簡單,做我想要的。謝謝@madalin ivascu – urbz