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对象是否可用的最正确方法分析
Oct 03 Javascript
JavaScript 无符号右移赋值操作
Apr 17 Javascript
JS 时间显示效果代码
Aug 23 Javascript
25个好玩的JavaScript小游戏分享
Apr 22 Javascript
基于JQuery 滑动与动画的说明介绍
Apr 18 Javascript
jQuery中empty()方法用法实例
Jan 16 Javascript
七个不允许错过的jQuery小技巧
Dec 21 Javascript
高性能JavaScript循环语句和条件语句
Jan 20 Javascript
微信小程序自定义底部弹出框
Nov 16 Javascript
layer ui插件显示tips时,修改字体颜色的实现方法
Sep 11 Javascript
关于vue属性使用和不使用冒号的区别说明
Oct 22 Javascript
javascript实现搜索筛选功能实例代码
Nov 12 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 开发环境配置(Zend Server安装)
2010/04/28 PHP
解析:通过php socket并借助telnet实现简单的聊天程序
2013/06/18 PHP
php使用pdo连接并查询sql数据库的方法
2014/12/24 PHP
PHP随机生成信用卡卡号的方法
2015/03/23 PHP
深入浅出php socket编程
2015/05/13 PHP
ThinkPHP开发--使用七牛云储存
2017/09/14 PHP
jQuery html() in Firefox (uses .innerHTML) ignores DOM changes
2010/03/05 Javascript
使用RequireJS优化JavaScript引用代码的方法
2015/07/01 Javascript
javascript三种代码注释方法
2016/06/02 Javascript
JS实战篇之收缩菜单表单布局
2016/12/10 Javascript
Javascript 对cookie操作详解及实例
2016/12/29 Javascript
关于iframe跨域POST提交的方法示例
2017/01/15 Javascript
js放到head中失效的原因与解决方法
2017/03/07 Javascript
js实现网页的两个input标签内的数值加减(示例代码)
2017/08/15 Javascript
表格展示利器 Bootstrap Table实例代码
2017/09/06 Javascript
Vue2.0基于vue-cli+webpack父子组件通信(实例讲解)
2017/09/14 Javascript
用React-Native+Mobx做一个迷你水果商城APP(附源码)
2017/12/25 Javascript
vue异步加载高德地图的实现
2018/06/19 Javascript
js实现轮播图的完整代码
2020/10/26 Javascript
javascript数组去重方法总结(推荐)
2019/03/20 Javascript
原生JS 实现的input输入时表格过滤操作示例
2019/08/03 Javascript
Vue+Element-UI实现上传图片并压缩
2019/11/26 Javascript
[02:25]专访DOTA2负责人Erik 国际邀请赛暂不会离开西雅
2014/07/21 DOTA
[02:31]2018年度DOTA2最具人气选手-完美盛典
2018/12/16 DOTA
[02:08]什么藏在DOTA2 TI9“小紫本”里?斧王历险记告诉你!
2019/05/17 DOTA
Python简单日志处理类分享
2015/02/14 Python
详解python中的线程与线程池
2019/05/10 Python
python爬虫 urllib模块发起post请求过程解析
2019/08/20 Python
如何基于Python pygame实现动画跑马灯
2020/11/18 Python
英国时尚优质的女装:Hope Fashion
2018/08/14 全球购物
师范学院毕业生求职信范文
2013/12/26 职场文书
2014年城管工作总结
2014/11/20 职场文书
2014年村官工作总结
2014/11/24 职场文书
法人代表证明书范本
2015/06/18 职场文书
Redis高并发防止秒杀超卖实战源码解决方案
2021/11/01 Redis
Spring boot实现上传文件到本地服务器
2022/08/14 Java/Android