JS如何实现在弹出窗口中加载页面


Posted in Javascript onDecember 03, 2020

弹出窗口,加载页面。弹出窗口初始位置为居中。可在关闭窗口时,回调主页面按钮。要求jquery。

效果演示

首先,演示主窗口两个按钮作用。然后,演示关闭弹出窗口时,调用主窗口的两个按钮。JS如何实现在弹出窗口中加载页面

主要代码(时间仓促,没加注释,不过代码很简单,就是创建几个元素拼在一起,每个元素都用var=标明了)

var _divMask;
var _divBox;

function ShowMask() {
  var divMask = $('<div></div>')
    .attr("id", "divMask")
    .css({
      "position": "absolute",
      "left": "0",
      "top": "0",
      "width": "100%",
      "height": "100%",
      "backgroundColor": "gray",
      "opacity": "0.4"
    }).appendTo("body");
  _divMask = divMask;
  return divMask;
}

function ShowBox(title, url, width, height) {
  ShowMask();
  var divBox = $("<div></div>")
    .attr("id", "divBox")
    .css({
      "position": "absolute",
      "top": (($(document).height() - height) / 2) < 0 ? 0 : (($(document).height() - height) / 2),
      "left": (($(document).width() - width) / 2),
      "width": width,
      "height": height,
      "border": "2px solid gray",
      "backgroundColor": "white"
    })
    .appendTo("body");
  var pTitle = $("<p></p>")
    .css({
      "width": (width - 20) / 2,
      "float": "left",
      "padding": "5px",
      "margin": "0"
    })
    .text(title)
    .appendTo(divBox);
  var pClose = $("<p></p>")
    .css({
      "width": (width - 20) / 2,
      "float": "left",
      "text-align": "right",
      "padding": "5px",
      "margin": "0"
    })
    .appendTo(divBox);
  var aClose = $("<a></a>")
    .css({
      "color": "black",
      "text-decoration": "none"
    })
    .attr("href", "javascript:CloseBox();")
    .text("关 闭")
    .appendTo(pClose);
  var hr = $("<hr/>")
    .css({
      "margin": "0",
      "border": "1px solid gray"
    })
    .appendTo(divBox);
  var iframeContainer = $("<iframe></iframe>")
    .attr("id", "divContainer")
    .css({
      "width": width,
      "height": height - 13 - pTitle.height(),
      "float": "left",
      "overflow": "auto",
      "border": "0"
    })
    .attr("src", url)
  .appendTo(divBox);
  _divBox = divBox;
  //divBox.draggable({ handle: "p" });
}

function CloseBox(btn) {
  if (_divMask == null) {
    if (btn != null && btn != '') {
      parent.document.getElementById(btn).click();
    }
    $(parent.document.getElementById("divMask")).remove();
    $(parent.document.getElementById("divBox")).remove();
  }
  else {
    _divMask.remove();
    _divBox.remove();
  }
}

下载

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
解决 FireFox 下[使用event很麻烦] 的问题.
Aug 22 Javascript
javascript new fun的执行过程
Aug 05 Javascript
把字符串按照特定的字母顺序进行排序的js代码
Jan 28 Javascript
js 动态修改css文件的方法
Aug 05 Javascript
Javascript window对象详解
Nov 12 Javascript
将JavaScript的jQuery库中表单转化为JSON对象的方法
Nov 17 Javascript
AngularJs验证重复密码的方法(两种)
Nov 25 Javascript
Bootstrap + AngularJS 实现简单的数据过滤字符查找功能
Jul 27 Javascript
关于Vue实现组件信息的缓存问题
Aug 23 Javascript
[js高手之路]寄生组合式继承的优势详解
Aug 28 Javascript
Vue实现简单计算器案例
Feb 25 Javascript
小程序跳转H5页面的方法步骤
Mar 06 Javascript
对vue生命周期的深入理解
Dec 03 #Vue.js
在实例中重学JavaScript事件循环
Dec 03 #Javascript
js 数据类型判断的方法
Dec 03 #Javascript
用vue设计一个日历表
Dec 03 #Vue.js
JS闭包原理及其使用场景解析
Dec 03 #Javascript
实用的 vue tags 创建缓存导航的过程实现
Dec 03 #Vue.js
Javascript节流函数throttle和防抖函数debounce
Dec 03 #Javascript
You might like
备份mysql数据库的php代码(一个表一个文件)
2010/05/28 PHP
php pki加密技术(openssl)详解
2013/07/01 PHP
PHP6 中可能会出现的新特性预览
2014/04/04 PHP
php+ajax实时输入自动搜索匹配的方法
2014/12/26 PHP
php实现微信公众号无限群发
2015/10/11 PHP
PHP读取文件,解决中文乱码UTF-8的方法分析
2020/01/22 PHP
Apache+PHP+MySQL搭建PHP开发环境图文教程
2020/08/06 PHP
jQuery 对象中的类数组操作
2009/04/27 Javascript
一步一步制作jquery插件Tabs实现过程
2010/07/06 Javascript
有关于JS辅助函数inherit()的问题
2013/04/07 Javascript
jquery滚动特效集锦
2015/06/03 Javascript
jquery+json实现动态商品内容展示的方法
2016/01/14 Javascript
jQuery图片旋转插件jQueryRotate.js用法实例(附demo下载)
2016/01/21 Javascript
基于javascript简单实现对身份证校验
2021/01/25 Javascript
js实现横向拖拽导航条功能
2017/02/17 Javascript
zTree jQuery 树插件的使用(实例讲解)
2017/09/25 jQuery
基于vue-cli创建的项目的目录结构及说明介绍
2017/11/23 Javascript
详解javascript常用工具类的封装
2018/01/30 Javascript
深入浅析var,let,const的异同点
2018/08/07 Javascript
nodejs微信开发之接入指南
2019/03/17 NodeJs
使用 vue 实例更好的监听事件及vue实例的方法
2019/04/22 Javascript
vue 框架下自定义滚动条(easyscroll)实现方法
2019/08/29 Javascript
使用Layui搭建后台管理界面的操作方法
2019/09/20 Javascript
Angular 多级路由实现登录页面跳转(小白教程)
2019/11/19 Javascript
基于Vue.js+Nuxt开发自定义弹出层组件
2020/10/09 Javascript
python+openCV利用摄像头实现人员活动检测
2019/06/22 Python
在Pycharm中调试Django项目程序的操作方法
2019/07/17 Python
Python的bit_length函数来二进制的位数方法
2019/08/27 Python
Python 如何测试文件是否存在
2020/07/31 Python
详解HTML5 window.postMessage与跨域
2017/05/11 HTML / CSS
捷克原创男装和女装购物网站:Bolf.cz
2018/04/28 全球购物
Linux上比较文件的命令都有哪些
2012/02/24 面试题
老教师工作总结的自我评价
2013/09/27 职场文书
红领巾广播站广播稿(3篇)
2014/09/20 职场文书
售房协议书范本
2015/08/11 职场文书
聊聊JS ES6中的解构
2021/04/29 Javascript