美文网首页
#每日技术学习# Bootstrap学习:弹出模态框

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

作者: 筱平哥哥 | 来源:发表于2018-11-06 09:43 被阅读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 种方式

    • 方法一
      模态弹出窗声明,只需要自定义两个必要的属性:data-toggle和data-target(bootstrap中声明式触发方法一般依赖于这些自定义的data-xxx 属性。比如data-toggle="" 或者 data-dismiss="")。
      例如:
    <!-- 触发模态弹出窗的元素 -->
    <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>元素,那么可以使用链接元素自带的href属性替代data-target属性,如:
    <!-- 触发模态弹出窗的元素 -->
    <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的方式来触发。

    • 方法三
      利用JavaScript来触发:
    $(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) {
            // 处理代码...
    })
    

    相关文章

      网友评论

          本文标题:#每日技术学习# Bootstrap学习:弹出模态框

          本文链接:https://www.haomeiwen.com/subject/rjmjxqtx.html