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 相关文章推荐
xss文件页面内容读取(解决)
Nov 28 Javascript
javascript中方便增删改cookie的一个类
Oct 11 Javascript
打豆豆小游戏 用javascript编写的[打豆豆]小游戏
Jan 08 Javascript
浅谈nodeName,nodeValue,nodeType,typeof 的区别
Jan 13 Javascript
Jquery on绑定的事件 触发多次实例代码
Dec 08 Javascript
基于jquery实现多选下拉列表
Aug 02 jQuery
JS正则表达式完美实现身份证校验功能
Oct 18 Javascript
详解微信小程序自定义组件的实现及数据交互
Jul 22 Javascript
Layui点击图片弹框预览的实现方法
Sep 16 Javascript
用原生JS实现爱奇艺首页导航栏代码实例
Sep 19 Javascript
微信小程序监听用户登录事件的实现方法
Nov 11 Javascript
Vue+penlayers实现多边形绘制及展示
Dec 24 Vue.js
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&amp;&amp;mysql)一
2006/10/09 PHP
在PHP中实现Javascript的escape()函数代码
2010/08/08 PHP
PHP教程之PHP中shell脚本的使用方法分享
2012/02/23 PHP
详解PHP的Yii框架中日志的相关配置及使用
2015/12/08 PHP
javascript 字符 Escape,encodeURI,encodeURIComponent
2009/07/09 Javascript
javascript游戏开发之《三国志曹操传》零部件开发(四)用地图块拼成大地图
2013/01/23 Javascript
jQuery animate和CSS3相结合实现缓动追逐效果附源码下载
2016/04/18 Javascript
两种js监听滚轮事件的实现方法
2016/05/13 Javascript
JS简单实现点击复制链接的方法
2016/08/03 Javascript
利用jsonp跨域调用百度js实现搜索框智能提示
2016/08/24 Javascript
jQuery焦点图轮播效果实现方法
2016/12/19 Javascript
js 判断数据类型的几种方法
2017/01/13 Javascript
ES6生成器用法实例分析
2017/04/10 Javascript
javascript 中null和undefined区分和比较
2017/04/19 Javascript
Vue.js上下滚动加载组件的实例代码
2017/07/17 Javascript
vue路由嵌套的SPA实现步骤
2017/11/06 Javascript
使用mint-ui实现省市区三级联动效果的示例代码
2018/02/09 Javascript
对angularJs中2种自定义服务的实例讲解
2018/09/30 Javascript
VUE2.0 ElementUI2.0表格el-table自适应高度的实现方法
2018/11/28 Javascript
原生JS实现的自动轮播图功能详解
2018/12/28 Javascript
js实现验证码功能
2020/07/24 Javascript
Python脚本简单实现打开默认浏览器登录人人和打开QQ的方法
2016/04/12 Python
在python中使用正则表达式查找可嵌套字符串组
2017/10/24 Python
Python多线程爬虫实战_爬取糗事百科段子的实例
2017/12/15 Python
PYQT5 vscode联合操作qtdesigner的方法
2020/03/24 Python
linux 下selenium chrome使用详解
2020/04/02 Python
Python 整行读取文本方法并去掉readlines换行\n操作
2020/09/03 Python
python xlsxwriter模块的使用
2020/12/24 Python
HTML5页面中尝试调起APP功能
2017/09/12 HTML / CSS
英国的屈臣氏:Boots博姿
2017/12/23 全球购物
delegate与普通函数的区别
2014/01/22 面试题
string = null 和string = ''的区别
2013/04/28 面试题
车间操作工岗位职责
2013/12/19 职场文书
校园文明标语
2014/06/13 职场文书
计生工作先进事迹
2014/08/15 职场文书
餐厅服务员管理制度
2015/08/05 职场文书