• BootStrapJS——modal弹出框


    学习参考视频https://ninghao.net/video/1615

    1.对话框 - Modal

    需要bootstrap的CSS文件引入,以及jQuery的js包

     1 <!DOCTYPE html>
     2 <html lang="en">
     3 <head>
     4     <meta charset="UTF-8">
     5     <title>弹窗测试</title>
     6     <link rel="stylesheet" href="css/bootstrap.min.css">
     7     <script type="text/javascript" src="https://code.jquery.com/jquery-1.10.2.js"></script>
     8 </head>
     9 <body>
    10     <div class="container">
    11         <p class="alert alert-info">
    12             Bootstrap框架中的模态弹出框,分别运用了“modal”、“modal-dialog”和“modal-content”样式,而弹出窗真正的内容都放置在“modal-content”中,其主要又包括三个部分:<br>
    13             ☑ 弹出框头部,一般使用“modal-header”表示,主要包括标题和关闭按钮<br>
    14             ☑ 弹出框主体,一般使用“modal-body”表示,弹出框的主要内容<br>
    15             ☑ 弹出框脚部,一般使用“modal-footer”表示,主要放置操作按钮</p>
    16     </div>
    17     <div class="modal in" style="display: block">
    18         <!-- .modal-lg 为大弹出框;.model-sm为小弹出框 -->
    19         <div class="modal-dialog model-lg">
    20             <div class="modal-content">
    21                 <!-- modal头部 -->
    22                 <div class="modal-header">
    23                     <button class="close">&times;</button>
    24                     <h4>用户登录</h4>
    25                 </div>
    26                 <!-- modal主体 -->
    27                 <div class="modal-body">
    28                     <p>用户登录的表单</p>
    29                 </div>
    30                 <!-- modal底部 -->
    31                 <div class="modal-footer">
    32                     <button class="btn btn-primary">登录</button>
    33                 </div>
    34             </div>
    35         </div>
    36     </div>
    37     <div class="modal-backdrop in"></div>
    38 </body>
    39 </html>
    View Code

    2.打开与关闭对话框

    去掉modal in上的in,及后面的style

    去掉下方的modal-backdrop的div

    添加id data-toggle、data-target data-dismiss

     1 <!DOCTYPE html>
     2 <html lang="en">
     3 <head>
     4     <meta charset="UTF-8">
     5     <title>弹窗测试</title>
     6     <link rel="stylesheet" href="css/bootstrap.min.css">
     7     <!-- <script type="text/javascript" src="https://code.jquery.com/jquery-1.10.2.js"></script> -->
     8     <script type="text/javascript" src="js/jquery-3.2.1.min.js"></script>
     9     <script type="text/javascript" src="js/bootstrap.js"></script>
    10 </head>
    11 <body>
    12     <div class="container">
    13         <a href="" data-toggle="modal" data-target="#login-modal">登录</a>
    14         <p class="alert alert-info">
    15             Bootstrap框架中的模态弹出框,分别运用了“modal”、“modal-dialog”和“modal-content”样式,而弹出窗真正的内容都放置在“modal-content”中,其主要又包括三个部分:<br>
    16             ☑ 弹出框头部,一般使用“modal-header”表示,主要包括标题和关闭按钮<br>
    17             ☑ 弹出框主体,一般使用“modal-body”表示,弹出框的主要内容<br>
    18             ☑ 弹出框脚部,一般使用“modal-footer”表示,主要放置操作按钮</p>
    19     </div>
    20     <div class="modal fade" id="login-modal">
    21     <!-- <div class="modal in" style="display: block">      -->
    22         <!-- .modal-lg 为大弹出框;.model-sm为小弹出框 -->
    23         <!-- fade为窗口加载效果 -->
    24         <div class="modal-dialog model-lg">
    25             <div class="modal-content">
    26                 <!-- modal头部 -->
    27                 <div class="modal-header">
    28                     <button class="close" data-dismiss="modal">&times;</button>
    29                     <!-- dissmiss点击消失 -->
    30                     <h4>用户登录</h4>
    31                 </div>
    32                 <!-- modal主体 -->
    33                 <div class="modal-body">
    34                     <p>用户登录的表单</p>
    35                 </div>
    36                 <!-- modal底部 -->
    37                 <div class="modal-footer">
    38                     <button class="btn btn-primary">登录</button>
    39                 </div>
    40             </div>
    41         </div>
    42     </div>
    43     <!-- <div class="modal-backdrop in"></div> -->
    44     
    45 </body>
    46 </html>
    View Code

    注:中间出现错误,后来发现是bootstrap的js包未引入,只引入了bootstrap的Css包,醉心ing)

    3.tabindex 属性

    设置tab键点击属性 点击ESC退出 tabindex="-1"

    4.对话框的选项

    可以通过Js或者data相关,去除对话框黑色背景、ESC键效果去除等

    (1)data

    (2)Javascript

    删除data-backdrop

    添加js脚本

    可以实现同data-backdrop="false"相同的效果

     1 <!DOCTYPE html>
     2 <html lang="en">
     3 <head>
     4     <meta charset="UTF-8">
     5     <title>弹窗测试</title>
     6     <link rel="stylesheet" href="css/bootstrap.min.css">
     7     <!-- <script type="text/javascript" src="https://code.jquery.com/jquery-1.10.2.js"></script> -->
     8     <script type="text/javascript" src="js/jquery-3.2.1.min.js"></script>
     9     <script type="text/javascript" src="js/bootstrap.js"></script>
    10 </head>
    11 <body>
    12     <div class="container">
    13         <a href="" data-toggle="modal" data-target="#login-modal">登录</a>
    14         <p class="alert alert-info">
    15             Bootstrap框架中的模态弹出框,分别运用了“modal”、“modal-dialog”和“modal-content”样式,而弹出窗真正的内容都放置在“modal-content”中,其主要又包括三个部分:<br>
    16             ☑ 弹出框头部,一般使用“modal-header”表示,主要包括标题和关闭按钮<br>
    17             ☑ 弹出框主体,一般使用“modal-body”表示,弹出框的主要内容<br>
    18             ☑ 弹出框脚部,一般使用“modal-footer”表示,主要放置操作按钮</p>
    19         <button class="btn btn-primary">try</button>
    20     </div>
    21     <div class="modal fade" id="login-modal" tabindex="-1">
    22     <!-- data-backdrop="false"去除黑色背景 -->
    23     <!-- tabindex="-1"tab键锁定在当前层,可ESC键退出 -->
    24     <!-- <div class="modal in" style="display: block">      -->
    25         <!-- .modal-lg 为大弹出框;.model-sm为小弹出框 -->
    26         <!-- fade为窗口加载效果 -->
    27         <div class="modal-dialog model-lg">
    28             <div class="modal-content">
    29                 <!-- modal头部 -->
    30                 <div class="modal-header">
    31                     <button class="close" data-dismiss="modal">&times;</button>
    32                     <!-- dissmiss点击消失 -->
    33                     <h4>用户登录</h4>
    34                 </div>
    35                 <!-- modal主体 -->
    36                 <div class="modal-body">
    37                     <p>用户登录的表单</p>
    38                 </div>
    39                 <!-- modal底部 -->
    40                 <div class="modal-footer">
    41                     <button class="btn btn-primary">登录</button>
    42                 </div>
    43             </div>
    44         </div>
    45     </div>
    46     <!-- <div class="modal-backdrop in"></div> -->
    47     <script>
    48         // 使用对话框的id(login-modal)进行定位,在调用modal方法,
    49         // 把对象交给方法,对象里面可以是对话框的选项或者是值
    50         // show、backdrop、keyboard、remote
    51         $(function(){
    52             $('#login-modal').modal({
    53                 show:false,
    54                 backdrop:false
    55             });
    56         });
    57     </script>
    58 </body>
    59 </html>
    View Code

    5.对话框的 remote 选项

    remote 可以将其他页面的效果直接载入到modal中(bootstrapjs使用jQuery的load方法),(同源规则)

    HTML可以为modal-content里的所有内容,包括modal-header、modal-body、modal-footer

    具体效果方法见https://ninghao.net/video/1619

    (注:需要web服务器,有跨域)

    data-remote也可以实现
    6.modal 方法

    7.对话框的事件

  • 相关阅读:
    众包实验:《分享上海》出书计划
    程序员笔试题(附答案)
    "客户管理系统"终于开发完毕,在这快乐元宵节里深吸一口气(图)
    SOA 初步阅读理解
    大型网站性能优化的通用方法(转)
    读《恒源祥彪悍广告是如何出炉的》后学习到的
    Asp.net生成静态页面最简单方法(源码)
    综合实习报告 写了一下午 图图图。。。。全是图
    程序员笔试题 将人民币金额转换成大写的金额
    扬太集团的网站也做完了,写篇日记算做总结吧
  • 原文地址:https://www.cnblogs.com/ShineaSYR/p/7788297.html
Copyright © 2020-2023  润新知