bootstrap实现嵌套模态框的实例代码


Posted in Javascript onJanuary 10, 2020

项目上有一个需求,需要在已经弹出的一个bootstrap模态框的基础上再弹一个模态框。

因为bootstrap官方不建议这么做,最后实现的过程属实不易。

以下是解决方案:

html代码:

<div id="container">
 <a data-toggle="modal" href="#myModal" rel="external nofollow" class="btn btn-primary">弹出第一层模态框</a>
 <!-- 第一层模态框 -->
 <div class="modal fade" id="myModal">
   <div class="modal-dialog modal-lg">
     <div class="modal-content">
       <div class="modal-header">
         <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
           <h4 class="modal-title">第一层模态框</h4>
       </div>
       <div class="container"></div>
       <div class="modal-body">
       <p>第一层模态框</p>
       <br> 
       <a data-toggle="modal" href="#myModal2" rel="external nofollow" class="btn btn-primary">弹出第二层模态框</a>
       </div>
       <div class="modal-footer">  <a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" data-dismiss="modal" class="btn">关闭</a>
         <a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" class="btn btn-primary">保存</a>
       </div>
     </div>
   </div>
 </div>
 <!-- 第二层模态框 -->
 <div class="modal fade rotate" id="myModal2">
   <div class="modal-dialog">
     <div class="modal-content">
       <div class="modal-header">
         <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
           <h4 class="modal-title">第二层模态框</h4>
       </div>
       <div class="container"></div>
       <div class="modal-body">
         <p>第二层模态框</p>
       </div>
       <div class="modal-footer">  
       <a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" data-dismiss="modal" class="btn">关闭</a>
    <a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" class="btn btn-primary">保存</a>
       </div>
     </div>
   </div>
 </div>
 <!-- 遮罩 -->
 <div id="cover"></div>
</div>

遮罩的css样式:

<style type="text/css">
 <!-- 遮罩是为了第二层模态框弹出时,可以将第一层模态框遮住 -->
 #cover {
 display: none;
 position: fixed;
 background: #000000;
 left: 0;
 top: 0;
 width: 100%;
 height: 100%;
 opacity: 0.40;
 z-index: 1
}
</style>

js代码:

$(document).ready(function (){
 //第二层模态框弹出时,为其设置一个大于第一层模态框的z-index
 //使得第二层模态框可以在第一层模态框上面
 $(document).on('show.bs.modal', '#myModal2', function (event) {
 var zIndex = 1040 + (10 * $('.modal:visible').length+1);
   $(this).css('z-index', zIndex);
   //开启遮罩,遮罩的高度小于第二层模态框
   $("#cover").css('z-index',zIndex-1)
   $('#cover').css('display','block'); //显示遮罩层 
 });
 
 $('#myModal2').on('hide.bs.modal', function() {
 //第二层模态框关闭时,关闭遮罩
 $('#cover').css('display','none');
 });
});

总结

以上所述是小编给大家介绍的bootstrap实现嵌套模态框的实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Javascript 相关文章推荐
JS request函数 用来获取url参数
May 17 Javascript
js使用split函数按照多个字符对字符串进行分割的方法
Mar 20 Javascript
基于jQuery插件实现环形图标菜单旋转切换特效
May 15 Javascript
javascript实现数组中的内容随机输出
Aug 11 Javascript
JS实现光滑展开合拢的菜单效果代码
Sep 16 Javascript
JavaScript文本框脚本编写的注意事项
Jan 25 Javascript
js贪吃蛇游戏实现思路和源码
Apr 14 Javascript
Sequelize中用group by进行分组聚合查询
Dec 12 Javascript
JS中type=&quot;button&quot;和type=&quot;submit&quot;的区别
Jul 04 Javascript
laravel-admin 与 vue 结合使用实例代码详解
Jun 04 Javascript
原生JS实现留言板
Mar 26 Javascript
如何在JS文件中获取Vue组件
Sep 16 Javascript
jQuery操作动画完整实例分析
Jan 10 #jQuery
基于JavaScript判断两个对象内容是否相等
Jan 10 #Javascript
jQuery操作事件完整实例分析
Jan 10 #jQuery
jQuery操作元素追加内容示例
Jan 10 #jQuery
基于JS判断对象是否是数组
Jan 10 #Javascript
JS数组属性去重并校验重复数据
Jan 10 #Javascript
JS图片懒加载的优点及实现原理
Jan 10 #Javascript
You might like
smarty模板局部缓存方法使用示例
2014/06/17 PHP
php检查页面是否被百度收录
2015/10/28 PHP
Zend Framework连接Mysql数据库实例分析
2016/03/19 PHP
Laravel事件监听器用法实例分析
2019/03/12 PHP
IE event.srcElement和FF event.target 功能比较
2010/03/01 Javascript
jquery 获取标签名(tagName)示例代码
2013/07/11 Javascript
JavaScript图片放大技术(放大镜)实现代码分享
2013/11/14 Javascript
JavaScript实现按照指定长度为数字前面补零输出的方法
2015/03/19 Javascript
js数组去重的5种算法实现
2015/11/04 Javascript
给before和after伪元素设置js效果的方法
2015/12/04 Javascript
JS实现的简易拖放效果示例
2016/12/29 Javascript
原生JS实现层叠轮播图
2017/05/17 Javascript
JavaScript设计模式之单例模式原理与用法实例分析
2018/07/26 Javascript
JS数组splice操作实例分析
2019/10/12 Javascript
js实现无缝轮播图效果
2020/03/09 Javascript
如何使用three.js 制作一个三维的推箱子游戏
2020/07/29 Javascript
前端开发基础javaScript的六大作用
2020/08/06 Javascript
Python实现快速排序和插入排序算法及自定义排序的示例
2016/02/16 Python
Python实现快速排序算法及去重的快速排序的简单示例
2016/06/26 Python
Python MySQL数据库连接池组件pymysqlpool详解
2017/07/07 Python
Python开发之Nginx+uWSGI+virtualenv多项目部署教程
2019/05/13 Python
python爬虫之自制英汉字典
2019/06/24 Python
Pyinstaller加密打包应用的示例代码
2020/06/11 Python
python在地图上画比例的实例详解
2020/11/13 Python
美国性感女装网站:bebe
2017/03/04 全球购物
美国廉价机票预订网站:Cheapfaremart
2018/04/28 全球购物
迪奥美国官网:Dior美国
2019/12/07 全球购物
大学毕业生通用自荐信范文
2013/10/31 职场文书
电子商务专业推荐信范文
2013/12/02 职场文书
办理信用卡工作证明
2014/01/11 职场文书
自我鉴定四大框架
2014/01/17 职场文书
祖国在我心中演讲稿400字
2014/05/04 职场文书
机械工程师岗位职责
2014/06/16 职场文书
小学教师教育随笔
2015/08/14 职场文书
pycharm部署django项目到云服务器的详细流程
2021/06/29 Python
SQL Server表分区降低运维和维护成本
2022/04/08 SQL Server