在iframe中使bootstrap的模态框在父页面弹出问题


Posted in Javascript onAugust 07, 2017

这几天在写项目的中,页面使用了iframe,然而在子页面中使用bootstrap的模态框时发现:弹出的模态框位置是以子页面为标准居中的,并且遮罩层也只有子页面那一部分,整个页面简直无法直视,所以思考可以可以让模态框以父页面为标准弹出,经过在网上查找资料,总结了一种解决方法。

效果展示

修改前页面

在iframe中使bootstrap的模态框在父页面弹出问题

修改后页面

在iframe中使bootstrap的模态框在父页面弹出问题

实现思路

要想使模态框在顶级页面打开,我想到的方法是使bootstrap的模态框弹在父页面弹出即可。

首先我们将需要弹出的div单独写一个页面,当子页面需要弹出时,在父页面弹出div即可。

将模态框单独写为一个页面

主页面

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8" />
    <title></title>
  </head>
  <body>
    <div class="modal fade" id="ajax" role="basic" aria-hidden="true">
      <div class="modal-dialog">
        <div class="modal-content">
        </div>
      </div>
    </div>
  </body>
  <script>
      $("#ajax").modal({
        remote: "./model.html"
      });
  </script>
</html>

模态框页面

<div class="modal-content">
  <div class="modal-header">
    <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
    <h4 class="modal-title" id="myModalLabel">Modal title</h4>
  </div>
  <div class="modal-body">
    这是模态框
  </div>
  <div class="modal-footer">
    <button type="button" class="btn btn-primary">保存</button>
    <button type="button" class="btn btn-default" data-dismiss="modal">关闭</button>
  </div>
</div>

这样就可以将模态框的div单独写为一个页面

修改主页面,加入子页面

修改后主页面

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8" />
    <title></title>
  </head>
  <body>
    <table width="100%" height="720px" border="1">
      <tr>
        <td>
          <iframe id="iframe1" name="iframe1" src="iframe1.html" width="100%" height="100%"></iframe>
        </td>
        <td></td>
      </tr>
      <tr>
        <td></td>
        <td>
          <iframe name="iframe2" src="iframe2.html" width="100%" height="100%"></iframe>
        </td>
      </tr>
    </table>
    <input type="text" id="textId" value="234" />
    <div class="modal fade" id="ajax" role="basic" aria-hidden="true">
      <div class="modal-dialog">
        <div class="modal-content">
        </div>
      </div>
    </div>
  </body>
  <script>
    function modalOut(url) {
      $("#ajax").modal({
        remote: url;
      });
    }
  </script>
</html>

这样主页面就有2个子页面,并且将弹出模态框的方法封装至modalOut(url)方法中

子页面弹出模态框

当子页面需要弹出模态框时,加载父页面中的modalOut(url)方法即可:

子页面js如下

var _iframe = window.parent;
_iframe.modalOut('xxx.html');

以上就是解决子页面中弹出模态框无法覆盖全部页面的解决办法,

注意:所以html中未加载js,请自行加载bootstrap相关的js。

总结

以上所述是小编给大家介绍的在iframe中使bootstrap的模态框在父页面弹出问题,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
juqery 学习之五 文档处理 插入
Feb 11 Javascript
js substr支持中文截取函数代码(中文是双字节)
Apr 17 Javascript
javascript alert乱码的解决方法
Nov 05 Javascript
js浮点数保留两位小数点示例代码(四舍五入)
Dec 26 Javascript
js读取配置文件自写
Feb 11 Javascript
jQuery实现的仿select功能代码
Aug 19 Javascript
基于JavaScript实现购物网站商品放大镜效果
Sep 06 Javascript
Vue组件通信之Bus的具体使用
Dec 28 Javascript
深入理解Vue nextTick 机制
Apr 28 Javascript
javacript replace 正则取字符串中的值并替换【推荐】
Sep 13 Javascript
js实现全选和全不选功能
Jul 28 Javascript
如何使JavaScript休眠或等待
Apr 27 Javascript
JS判断微信扫码的方法
Aug 07 #Javascript
AngularJs每天学习之总体介绍
Aug 07 #Javascript
关于webpack2和模块打包的新手指南(小结)
Aug 07 #Javascript
BootStrap Fileinput插件和Bootstrap table表格插件相结合实现文件上传、预览、提交的导入Excel数据操作步骤
Aug 07 #Javascript
ES6新增数据结构WeakSet的用法详解
Aug 07 #Javascript
bootstrap Table插件使用demo
Aug 07 #Javascript
Django+Vue.js搭建前后端分离项目的示例
Aug 07 #Javascript
You might like
php+mysqli事务控制实现银行转账实例
2015/01/29 PHP
深入解析Laravel5.5中的包自动发现Package Auto Discovery
2017/09/13 PHP
Laravel 解决composer相关操作提示php相关异常的问题
2019/10/23 PHP
12款经典的白富美型—jquery图片轮播插件—前端开发必备
2013/01/08 Javascript
使用CSS样式position:fixed水平滚动的方法
2014/02/19 Javascript
处理文本部分内容的TextRange对象应用实例
2014/07/29 Javascript
jquery滚动加载数据的方法
2015/03/09 Javascript
jQuery实现Tab菜单滚动切换的方法
2015/09/21 Javascript
JS实现的文字与图片定时切换效果代码
2015/10/06 Javascript
Bootstrap入门书籍之(一)排版
2016/02/17 Javascript
JavaScript对象创建模式实例汇总
2016/10/03 Javascript
js基础之DOM中document对象的常用属性方法详解
2016/10/28 Javascript
基于touch.js手势库+zepto.js插件开发图片查看器(滑动、缩放、双击缩放)
2016/11/17 Javascript
jQuery插件HighCharts绘制2D柱状图、折线图和饼图的组合图效果示例【附demo源码下载】
2017/03/09 Javascript
javascript 通过键名获取键盘的keyCode方法
2017/12/31 Javascript
用jquery获取select标签中选中的option值及文本的示例
2018/01/25 jQuery
Canvas实现微信红包照片效果
2018/08/21 Javascript
iview实现select tree树形下拉框的示例代码
2018/12/21 Javascript
微信小程序 可搜索的地址选择实现详解
2019/08/28 Javascript
[01:39]2014DOTA2国际邀请赛 Newbee经理CU专访队伍火力全开
2014/07/15 DOTA
启动targetcli时遇到错误解决办法
2017/10/26 Python
flask应用部署到服务器的方法
2019/07/12 Python
Python企业编码生成系统总体系统设计概述
2019/07/26 Python
Python 字符串类型列表转换成真正列表类型过程解析
2019/08/26 Python
TensorFlow实现从txt文件读取数据
2020/02/05 Python
python实现opencv+scoket网络实时图传
2020/03/20 Python
如何使用Python调整图像大小
2020/09/26 Python
Linux管理员面试经常问道的相关命令
2014/12/12 面试题
小学生元旦感言
2014/02/26 职场文书
党员个人自我剖析材料
2014/10/08 职场文书
飞屋环游记观后感
2015/06/08 职场文书
思品教学工作总结
2015/08/10 职场文书
互联网创业商业模式以及赚钱法则有哪些?
2019/10/12 职场文书
HTML+CSS制作心跳特效的实现
2021/05/26 HTML / CSS
利用JavaScript写一个简单计算器
2021/11/27 Javascript
GTX1650super好不好 gtx1650super显卡属于什么级别
2022/04/08 数码科技