8-7 模态弹出框--触发模态弹出窗2种方法
本节编程练习不计算学习进度,请电脑登录imooc.com操作

模态弹出框--触发模态弹出窗2种方法

众所周知,模态弹出窗在页面加载完成时,是被隐藏在页面中的,只有通过一定的动作(事件)才能触发模态弹出窗的显示。在Bootstrap框架中实现方法有2种,接下来分别来介绍这2种触发模态弹出窗的使用方法。

声明式触发方法

方法一:模态弹出窗声明,只需要自定义两个必要的属性:data-toggledata-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的方式来触发。

点击按钮就能触发弹出窗:

任务

我来试试:在右侧代码编辑器添加代码,以实现2种触发模态弹出窗的方法

  1. <!DOCTYPE HTML>
  2. <html>
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  5. <title>模态弹出窗的使用</title>
  6. <link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css">
  7. </head>
  8. <body>
  9. <!--下面是代码任务部分-->
  10.  
  11. <!-- href触发模态弹出窗元素 -->
  12. <a class="btn btn-primary">通过链接href属性触发</a>
  13. <!-- 模态弹出窗内容 -->
  14. <div class="modal" tabindex="-1" role="dialog" aria-labelledby="myLargeModalLabel" aria-hidden="true" id="mymodal-link">
  15. <div class="modal-dialog">
  16. <div class="modal-content">
  17. <div class="modal-header">
  18. <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">&times;</span><span class="sr-only">Close</span></button>
  19. <h4 class="modal-title">模态弹出窗标题</h4>
  20. </div>
  21. <div class="modal-body">
  22. <p>模态弹出窗主体内容</p>
  23. </div>
  24. <div class="modal-footer">
  25. <button type="button" class="btn btn-default" data-dismiss="modal">关闭</button>
  26. <button type="button" class="btn btn-primary">保存</button>
  27. </div>
  28. </div>
  29. </div>
  30. </div>
  31.  
  32. <!-- data-target触发模态弹出窗元素 -->
  33. <button class="btn btn-primary" type="button">通过data-target触发</button>
  34. <!-- 模态弹出窗内容 -->
  35. <div class="modal" id="mymodal-data" tabindex="-1" role="dialog" aria-labelledby="mySmallModalLabel" aria-hidden="true">
  36. <div class="modal-dialog">
  37. <div class="modal-content">
  38. <div class="modal-header">
  39. <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">&times;</span><span class="sr-only">Close</span></button>
  40. <h4 class="modal-title">模态弹出窗标题</h4>
  41. </div>
  42. <div class="modal-body">
  43. <p>模态弹出窗主体内容</p>
  44. </div>
  45. <div class="modal-footer">
  46. <button type="button" class="btn btn-default" data-dismiss="modal">关闭</button>
  47. <button type="button" class="btn btn-primary">保存</button>
  48. </div>
  49. </div>
  50. </div>
  51. </div>
  52. <script src="http://libs.baidu.com/jquery/1.9.0/jquery.js"></script>
  53. <script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script>
  54. </body>
  55. </html>
下一节