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 相关文章推荐
JavaScript中“+=”的应用
Feb 02 Javascript
JS getMonth()日期函数的值域是0-11
Feb 15 Javascript
JavaScript高级程序设计 阅读笔记(二十一) JavaScript中的XML
Sep 14 Javascript
页面刷新时记住滚动条的位置jquery代码
Jun 17 Javascript
jQuery实现TAB风格的全国省份城市滑动切换效果代码
Aug 24 Javascript
jQuery实现有动画淡出效果的二级折叠菜单代码
Oct 17 Javascript
基于jQuery实现的双11天猫拆红包抽奖效果
Dec 01 Javascript
js选择器全面解析
Jun 27 Javascript
jQuery弹出层插件popShow用法示例
Jan 23 Javascript
JavaScript实现二叉树定义、遍历及查找的方法详解
Dec 20 Javascript
浅析js实现网页截图的两种方式
Nov 01 Javascript
js中位数不足自动补位扩展padLeft、padRight实现代码
Apr 06 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
在Zeus Web Server中安装PHP语言支持
2006/10/09 PHP
常用的php图片处理类(水印、等比缩放、固定高宽)分享
2015/06/19 PHP
php实现的数字验证码及数字运算验证码
2015/07/30 PHP
php实现购物车功能(下)
2016/01/05 PHP
Yii中srbac权限扩展模块工作原理与用法分析
2016/07/14 PHP
thinkPHP微信分享接口JSSDK用法实例
2017/07/07 PHP
利用javascript查看html源文件
2006/11/08 Javascript
改写一个简单的菜单 弹性大小
2010/12/02 Javascript
Javascript执行效率全面总结
2013/11/04 Javascript
jQuery制作可自定义大小的拼图游戏
2015/03/30 Javascript
关于预加载InstantClick的问题解决方法
2017/09/12 Javascript
利用Javascript开发一个二维周视图日历
2017/12/14 Javascript
vue中实现methods一个方法调用另外一个方法
2018/02/08 Javascript
HTML元素拖拽功能实现的完整实例
2020/12/04 Javascript
Python3 入门教程 简单但比较不错
2009/11/29 Python
python itchat实现微信好友头像拼接图的示例代码
2017/08/14 Python
python matplotlib 注释文本箭头简单代码示例
2018/01/08 Python
python+PyQT实现系统桌面时钟
2020/06/16 Python
Selenium chrome配置代理Python版的方法
2018/11/29 Python
python多进程并发demo实例解析
2019/12/13 Python
Django框架之中间件MiddleWare的实现
2019/12/30 Python
简单了解pytest测试框架setup和tearDown
2020/04/14 Python
Python 实现一个简单的web服务器
2021/01/03 Python
ivx平台开发之不用代码实现一个九宫格抽奖功能
2021/01/27 HTML / CSS
英国厨房与餐具用品为主的设计品牌:Joseph Joseph
2018/04/26 全球购物
生日邀请函范文
2014/01/13 职场文书
《鸟岛》教学反思
2014/04/26 职场文书
临床医学专业求职信
2014/08/08 职场文书
2014年物流工作总结
2014/11/25 职场文书
2014五年级班主任工作总结
2014/12/05 职场文书
项目建议书
2015/02/04 职场文书
2015医院个人工作总结范文
2015/05/21 职场文书
nginx搭建图片服务器的过程详解(root和alias的区别)
2021/03/31 Servers
Python中相见恨晚的技巧
2021/04/13 Python
如何利用Matlab制作一款真正的拼图小游戏
2021/05/11 Python
vue css 相对路径导入问题级踩坑记录
2022/06/05 Vue.js