#每日技术学习# Bootstrap学习:弹出模态框

2018-11-06  本文已影响12人  筱平哥哥

Date | 2018-11-05

模态弹出框

1.1基本结构

Bootstrap框架中的模态弹出框,分别运用了“modal”、“modal-dialog”和“modal-content”样式,而弹出窗真正的内容都放置在“modal-content”中,其主要又包括三个部分:
☑ 弹出框头部,一般使用“modal-header”表示,主要包括标题和关闭按钮
☑ 弹出框主体,一般使用“modal-body”表示,弹出框的主要内容
☑ 弹出框脚部,一般使用“modal-footer”表示,主要放置操作按钮
示例:

<div class="modal show">
    <div class="modal-dialog">
        <div class="modal-content">
            <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal">
                  <span aria-hidden="true">&times;</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><!-- /.modal-content -->
    </div><!-- /.modal-dialog -->
</div><!-- /.modal -->

效果如下图所示:


模态弹出框

1.2 模态弹出框特点

bootstrap中的“模态弹出框”有以下几个特点:
1、模态弹出窗是固定在浏览器中的。
2、单击右侧全屏按钮,在全屏状态下,模态弹出窗宽度是自适应的,而且modal-dialog水平居中。
3、当浏览器视窗大于768px时,模态弹出窗的宽度为600px。

1.3 尺寸选择

两种尺寸选择:
Bootstrap框架还为模态弹出窗提供了不同尺寸,一个是大尺寸样式“modal-lg”,另一个是小尺寸样式“modal-sm”。其结构上稍做调整:就是在.modal-dialog 里加上这两个尺寸的类名。

1.4 触发模态弹出框的 3 种方式

<!-- 触发模态弹出窗的元素 -->
<button type="button" data-toggle="modal" 
      data-target="#mymodal" class="btn btn-primary">
      点击我会弹出模态弹出窗
</button>
<!-- 模态弹出窗 -->
<div class="modal fade" id="mymodal">
    <div class="modal-dialog">
        <div class="modal-content">
        <!-- 模态弹出窗内容 -->
        </div>
    </div>
</div>

注意以下事项:
1、data-toggle必须设置为modal(toggle中文翻译过来就是触发器);
2、data-target可以设置为CSS的选择符,也可以设置为模态弹出窗的ID值,一般情况设置为模态弹出窗的ID值,因为ID值是唯一的值。

<!-- 触发模态弹出窗的元素 -->
<a data-toggle="modal" href="#mymodal" class=" btn btn-primary" >
点击我会弹出模态弹出窗</a>
<!-- 模态弹出窗 -->
<div class="modal fade"  id="mymodal" >
    <div class="modal-dialog" >
        <div class="modal-content" >
        <!-- 模态弹出窗内容 -->
        </div>
    </div>
</div>

建议还是使用统一使用data-target的方式来触发。

$(function(){
  $(".btn").click(function(){
    $("#mymodal").modal();
  });
});

1.5 data-参数说明

除了通过data-toggle和data-target来控制模态弹出窗之外,Bootstrap框架针对模态弹出框还提供了其他自定义data-属性,来控制模态弹出窗。比如说:是否有灰色背景modal-backdrop,是否可以按ESC键关闭模态弹出窗。有关于Modal弹出窗自定义属性相关说明如下所示:


image.png

例如,使用data-backdrop="static" data-keyboard="false" 控制弹出的模态弹出框:

<!-- data-target触发模态弹出窗元素 -->
<button class="btn btn-primary" type="button"
      data-toggle="modal" data-target="#mymodal-data" 
      data-backdrop="static" data-keyboard="false" >
      通过data-target触发
</button>

1.6 JavaScript触发时的参数设置

使用JavaScript触发模态弹出窗时,Bootstrap框架提供了一些设置,主要包括属性设置参数设置事件设置

1.6.1 属性设置
属性设置

使用示例:比如你不想让用户按ESC键关闭模态弹出窗,你就可以这样做:

$(function(){
    $(".btn").click(function(){
        $("#mymodal").modal({
            keyboard:false
        });
    });
});
1.6.2 参数设置
参数设置
1.6.3 事件设置
事件设置

调用方法也非常简单:

$('#myModal').on('hidden.bs.modal', 
     function (e) {
        // 处理代码...
})
上一篇下一篇

猜你喜欢

热点阅读