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实现标签页效果(配合css)
Apr 03 Javascript
JavaScript显示当前文档最后修改日期的方法
Mar 19 Javascript
JavaScript获取表单enctype属性的方法
Apr 02 Javascript
如何屏蔽防止别的网站嵌入框架代码
Aug 24 Javascript
Bootstrap轮播图的使用和理解4
Dec 14 Javascript
关于在vue-cli中使用微信自动登录和分享的实例
Jun 22 Javascript
vue如何将v-for中的表格导出来
May 07 Javascript
详解vuex中action何时完成以及如何正确调用dispatch的思考
Jan 21 Javascript
基于Vue插入视频的2种方法小结
Apr 02 Javascript
JavaScript高阶教程之“==”隐藏下的类型转换
Apr 11 Javascript
python实现迭代法求方程组的根过程解析
Nov 25 Javascript
在antd Table中插入可编辑的单元格实例
Oct 28 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
谈谈新手如何学习PHP
2006/12/14 PHP
PHP中调用SVN命令更新网站方法
2015/01/07 PHP
php提高网站效率的技巧
2015/09/29 PHP
利用JQuery为搜索栏增加tag提示
2009/06/22 Javascript
那些年,我还在学习jquery 学习笔记
2012/03/05 Javascript
javascript的字符串按引用复制和传递,按值来比较介绍与应用
2012/12/28 Javascript
jquery文字上下滚动的实现方法
2013/03/22 Javascript
Jquery多选框互相内容交换的实例代码
2013/07/04 Javascript
Javascript页面添加到收藏夹的简单方法
2013/08/07 Javascript
浅谈javascript中this在事件中的应用
2015/02/15 Javascript
Js可拖拽放大的层拖动特效实现方法
2015/02/25 Javascript
JS使用JSON作为参数实例分析
2016/06/23 Javascript
javascript验证手机号和实现星号(*)代替实例
2016/08/16 Javascript
jQuery获取table下某一行某一列的值实现代码
2017/04/07 jQuery
Javascript别踩白块儿(钢琴块儿)小游戏实现代码
2017/07/20 Javascript
详解使用nvm管理多版本node的方法
2017/08/30 Javascript
arcgis for js栅格图层叠加(Raster Layer)问题
2017/11/22 Javascript
从零开始最小实现react服务器渲染详解
2018/01/26 Javascript
angularJS的radio实现单项二选一的使用方法
2018/02/28 Javascript
浅析Vue 生命周期
2018/06/21 Javascript
jquery无缝图片轮播组件封装
2020/11/25 jQuery
用Vue.js在浏览器中实现裁剪图像功能
2019/06/18 Javascript
JS面向对象编程基础篇(二) 封装操作实例详解
2020/03/03 Javascript
基于jquery实现彩色投票进度条代码解析
2020/08/26 jQuery
Python 正则表达式的高级用法
2016/12/04 Python
Django ORM 聚合查询和分组查询实现详解
2019/08/09 Python
Django-silk性能测试工具安装及使用解析
2020/11/28 Python
实习自我鉴定模板
2013/09/28 职场文书
活动总结怎么写啊
2014/05/07 职场文书
战友聚会策划方案
2014/06/13 职场文书
对外汉语专业大学生职业生涯规划书
2014/10/11 职场文书
2014年消防工作总结
2014/11/21 职场文书
无故旷工检讨书
2015/08/15 职场文书
校运会广播稿
2015/08/19 职场文书
Mysql分析设计表主键为何不用uuid
2022/03/31 MySQL
Java Spring Lifecycle的使用
2022/05/06 Java/Android