打开其他面板时如何关闭其他面板
How to close other panels when another one is opened
我是bootstrap和jquery的新手,使用下面的代码创建了许多bootstrap面板,我的问题是,当我点击一个面板的全尺寸图标时,我想关闭其他面板有人知道怎么做?谢谢
<div class="panel panel-primary">
<div class="panel-heading">
<h4 class="panel-title"> Panel Widget Title
<div class="pull-right"> <a href="#" data-perform="panel-dismiss" class="btn btn-primary btn-xs pull-right"><i class="fa fa-times"></i></a> <a href="#" data-perform="panel-collapse" class="btn btn-primary btn-xs pull-right"><i class="fa fa-minus"></i></a> </div>
</h4>
</div>
<div class="panel-wrapper collapse in">
<div class="panel-body"> Panel Widget Body </div>
</div>
</div>
<div class="panel panel-primary">
<div class="panel-heading">
<h4 class="panel-title"> Panel Widget Title
<div class="pull-right"> <a href="#" data-perform="panel-dismiss" class="btn btn-primary btn-xs pull-right"><i class="fa fa-times"></i></a> <a href="#" data-perform="panel-collapse" class="btn btn-primary btn-xs pull-right"><i class="fa fa-minus"></i></a> </div>
</h4>
</div>
<div class="panel-wrapper collapse in">
<div class="panel-body"> Panel Widget Body </div>
</div>
</div>
<div class="panel panel-primary">
<div class="panel-heading">
<h4 class="panel-title"> Panel Widget Title
<div class="pull-right"> <a href="#" data-perform="panel-dismiss" class="btn btn-primary btn-xs pull-right"><i class="fa fa-times"></i></a> <a href="#" data-perform="panel-collapse" class="btn btn-primary btn-xs pull-right"><i class="fa fa-minus"></i></a> </div>
</h4>
</div>
<div class="panel-wrapper collapse in">
<div class="panel-body"> Panel Widget Body </div>
</div>
</div>
<script type="text/javascript">
$(document).ready(function() {
(function($, window, document){
var panelSelector = '[data-perform="panel-collapse"]';
$(panelSelector).each(function() {
var $this = $(this),
parent = $this.closest('.panel'),
wrapper = parent.find('.panel-wrapper'),
collapseOpts = {toggle: false};
if( ! wrapper.length) {
wrapper =
parent.children('.panel-heading').nextAll()
.wrapAll('<div/>')
.parent()
.addClass('panel-wrapper');
collapseOpts = {};
}
wrapper
.collapse(collapseOpts)
.on('hide.bs.collapse', function() {
$this.children('i').removeClass('fa-minus').addClass('fa-plus');
})
.on('show.bs.collapse', function() {
$this.children('i').removeClass('fa-plus').addClass('fa-minus');
});
});
$(document).on('click', panelSelector, function (e) {
e.preventDefault();
var parent = $(this).closest('.panel');
var wrapper = parent.find('.panel-wrapper');
wrapper.collapse('toggle');
});
}(jQuery, window, document));
(function($, window, document){
var panelSelector = '[data-perform="panel-dismiss"]';
$(document).on('click', panelSelector, function (e) {
e.preventDefault();
var parent = $(this).closest('.panel');
removeElement();
function removeElement() {
var col = parent.parent();
parent.remove();
col.filter(function() {
var el = $(this);
return (el.is('[class*="col-"]') && el.children('*').length === 0);
}).remove();
}
});
}(jQuery, window, document));
});
</script>
JSFIDDLE链接
Bootstrap提供了collapse.js来做同样的事情。
这里是参考:引导。
或者去摆弄
你只需要这样做:
$('.panel-title a').collapse();
由于您的问题有点含糊,我不清楚您的要求。请看一下这个代码。我想这可能是你再次询问
在这里摆弄
HTML
//Same as in you code, java script part is not needed
查询
$(document).ready(function () {
$(".panel-heading").click(function () {
$(this).closest(".panel").find(".panel-body").toggleClass("hide");
});
$(".fa.fa-times").click(function(){
$(".panel-body").addClass("hide");
$(this).parent(".panel").find(".panel-body").removeClass("hide");
});
});
编辑
检查更新的fiddle
相关文章:
- 如何关闭所有其他子菜单
- Bootstrap折叠手风琴一个面板打开,所有其他面板关闭
- 编写脚本以关闭其他选项卡或浏览器
- j查询关闭 ul 如果打开了其他
- 关闭-“阻止此页面创建其他对话框”
- jQuery mmenu-打开子菜单时如何关闭所有其他子菜单
- 如何从许多其他输入中查找触发键关闭事件的特定输入框
- 简单模态弹出窗口 - 使用其他按钮关闭弹出窗口
- 小部件上的菜单,在选择其他项目时单击关闭时打开
- 如何从其他控制器关闭角度 UI 模式
- 单击以关闭移动设备上的jQuery下拉菜单,同时保留其他行为
- jQuery滑动切换如何设置如果鼠标单击其他,关闭滑动切换
- 关闭其他页面中的当前浏览器
- jQuery Accordian - 帮助一次只打开一个顶级选项卡.单击一个选项卡打开其他选项卡时,将关闭
- 打开其他时如何关闭信息公牛
- 点击触摸设备上的其他位置,关闭CSS下拉菜单
- 使用Javascript(或任何其他语言)进行浏览器/选项卡关闭检测
- 如何在谷歌地图javascript中打开其他信息窗口时关闭信息窗口
- Accordion滑块在单击其他选项卡时未关闭上一个选项卡
- 防止导航条被其他元素关闭'