Bootstrap之:模态窗口
Bootstrap提供了单独的js文件来提供模态窗口功能,同时也都集成到了bootstrap.min.js中
Bootstrap框架中的模态弹出框,分别运用了“modal”、“modal-dialog”和“modal-content”样式,而弹出窗真正的内容都放置在“modal-content”中,其主要又包括三个部分:
弹出框头部,一般使用“modal-header”表示,主要包括标题和关闭按钮
弹出框主体,一般使用“modal-body”表示,弹出框的主要内容
弹出框脚部,一般使用“modal-footer”表示,主要放置操作按钮
例如:
<button class="btn btn-primary btn-mymodal" data-toggle="modal" data-target="#mymodal-data" type="button">通过data-target触发</button>
<!-- 模态弹出窗内容 -->
<div class="modal" id="mymodal-data" tabindex="-1" role="dialog" aria-labelledby="mySmallModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">×</span><span class="sr-only">Close</span></button>
<h4 class="modal-title">模态弹出窗标题</h4>
</div>
<div class="modal-body">
<p>模态弹出窗主体内容</p>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">关闭</button>
<button type="button" class="btn btn-primary">保存</button>
</div>
</div>
</div>
</div>
另外还有一种通过jQuery调用方式:
去掉上面的data-toggle="modal"和data-target="..."的属性,然后直接通过jquery方式来调用触发
<script type="text/javascript">
$(function(){
$(".btn-mymodal").click({
$("#mymodal-data").modal();
});
})
</script>
注:还可通过参数设置来改变效果
keyboard;backdrop;show;
remote:此参数代表通过此来设置从其他地方加载的内容的地址,然后到modal中显示
例如:
<script type="text/javascript">
$(function(){
$(".btn-mymodal").click({
$("#mymodal-data").modal({
keyboard:false,
remote:http://www.baidu.com
});
});
})
</script>
模态弹出窗还支持四种类型的事件,分别是模态弹出窗的弹出前、弹出后,关闭前、关闭后,具体描述如下:
事件类型 |
描述 |
show.bs.modal |
在show方法调用时立即触发(尚未显示之前);如果单击了一个元素,那么该元素将作为事件的relatedTarget属性 |
shown.bs.modal |
该事件在模态弹出窗完全显示给用户之后(并且等CSS动画完成之后)触发;如果单击了一个元素,那么该元素将作为事件的relatedTarget事件 |
hide.bs.modal |
在hide方法调用时(但还未关闭隐藏)立即触发 |
hidden.bs.modal |
该事件在模态弹出窗完全隐藏之后(并且CSS动画漂完成之后)触发 |
调用方法也非常简单:
$('#myModal').on('hidden.bs.modal', function (e) { // 处理代码... })