在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 相关文章推荐
jQuery 连续列表实现代码
Dec 21 Javascript
javascript字符串拼接的效率问题
Dec 25 Javascript
使用jQuery实现返回顶部
Jan 26 Javascript
JQuery包裹DOM节点的方法
Jun 11 Javascript
Angular Js文件上传之form-data
Aug 28 Javascript
jquery css实现邮箱自动补全
Nov 14 Javascript
通过AngularJS实现图片上传及缩略图展示示例
Jan 03 Javascript
javascript笔记之匿名函数和闭包
Feb 06 Javascript
深入理解JavaScript中的for循环
Feb 07 Javascript
Vue中定义全局变量与常量的各种方式详解
Aug 23 Javascript
微信小程序自定义toast实现方法详解【附demo源码下载】
Nov 28 Javascript
Vue中computed、methods与watch的区别总结
Apr 10 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程序开发范例学习之表单 获取文本框的值
2011/08/08 PHP
php中通过curl模拟登陆discuz论坛的实现代码
2012/02/16 PHP
利用PHP+JS实现搜索自动提示(实例)
2013/06/09 PHP
PHP中strlen()和mb_strlen()的区别浅析
2014/06/19 PHP
php gd等比例缩放压缩图片函数
2016/06/12 PHP
php实现背景图上添加圆形logo图标的方法
2016/11/17 PHP
javascript优先加载笔记代码
2008/09/30 Javascript
WordPress 照片lightbox效果的运用几点
2009/06/22 Javascript
让JavaScript 轻松支持函数重载 (Part 1 - 设计)
2009/08/04 Javascript
轻松学习Javascript闭包函数
2015/12/15 Javascript
高效利用Angular中内置服务$http、$location等
2016/03/22 Javascript
js正则表达式replace替换变量方法
2016/05/21 Javascript
Angular X中使用ngrx的方法详解(附源码)
2017/07/10 Javascript
使用Angular-CLI构建NPM包的方法
2018/09/07 Javascript
JavaScript页面倒计时功能完整示例
2019/05/15 Javascript
基于mpvue的简单弹窗组件mptoast使用详解
2019/08/02 Javascript
对Layer UI 模块化的用法详解
2019/09/26 Javascript
JS实现滑动插件
2020/01/15 Javascript
利用Python实现命令行版的火车票查看器
2016/08/05 Python
Python实现类的创建与使用方法示例
2017/07/25 Python
Python输出指定字符串的方法
2020/02/06 Python
python中实现栈的三种方法
2020/12/19 Python
css3实现背景图片拉伸效果像桌面壁纸一样
2013/08/19 HTML / CSS
英国电气世界:Electrical World
2019/09/08 全球购物
巴西葡萄酒商店:Divvino
2020/02/22 全球购物
档案管理员岗位职责
2013/12/01 职场文书
计算机通信工程专业毕业生推荐信
2013/12/24 职场文书
人事专员的岗位职责
2014/03/01 职场文书
三好学生个人先进事迹材料
2014/05/17 职场文书
文明生主要事迹
2014/05/25 职场文书
汉语言文学专业自荐信
2014/06/11 职场文书
乡镇党的群众路线教育实践活动领导班子对照检查材料
2014/09/25 职场文书
党的群众路线领导班子整改方案
2014/09/27 职场文书
优秀党员主要事迹材料
2015/11/04 职场文书
自荐信范文
2019/05/20 职场文书
Nginx已编译的nginx-添加新模块
2021/04/01 Servers