javascript实现的弹出层背景置灰-模拟(easyui dialog)


Posted in Javascript onDecember 27, 2013

页面比较丑,只把功能实现了。^ ^

<title>模仿easyui dialog的效果</title> 
<script> 
//取得页面元素 
var getElement = function() { 
return document.getElementById(arguments[0]) || false; 
} 
function openDialog(dialogId) { 
var maskId = "mask"; 
//如果有,先删除原来的 
if (getElement(dialogId)) { 
document.removeChild(getElement(dialogId));//删除操作:弹出的div 
} 
if (getElement(maskId)) { 
document.removeChild(getElement(maskId));//删除操作:弹出的不可操作(面具)层 
} //背景置灰 
var maskDiv = document.createElement("div"); 
maskDiv.id = maskId; 
maskDiv.style.position = "absolute"; 
maskDiv.style.zIndex = "1"; 
maskDiv.style.width = document.body.scrollWidth + "px"; 
maskDiv.style.height = document.body.scrollHeight + "px"; 
maskDiv.style.top = "0px"; 
maskDiv.style.left = "0px"; 
maskDiv.style.background = "gray"; 
maskDiv.style.filter = "alpha(opacity=10)"; 
maskDiv.style.opacity = "0.30";//透明度 
document.body.appendChild(maskDiv);//向body之中增加背景层 
//Dialog 
var dialogDiv = document.createElement("div"); 
dialogDiv.id = dialogId; 
dialogDiv.style.position = "absolute"; 
dialogDiv.style.zIndex = "9999"; 
dialogDiv.style.width = "400px"; 
dialogDiv.style.height = "200px"; 
dialogDiv.style.top = (parseInt(document.body.scrollHeight) - 200) / 2 + "px"; // 屏幕居中 
dialogDiv.style.left = (parseInt(document.body.scrollWidth) - 400) / 2 + "px"; // 屏幕居中 
dialogDiv.style.background = "white"; 
dialogDiv.style.border = "1px solid gray"; 
dialogDiv.style.padding = "5px"; 
dialogDiv.innerHTML = "(Dialog Content)"; 
//Dialog之中的关闭操作:关闭背景层和Dialog层 
var closeControlloer = document.createElement("a");//创建一个超链接(做为关闭的触发) 
closeControlloer.href = "#"; 
closeControlloer.innerHTML = "关闭"; 
closeControlloer.onclick = function() { 
document.body.removeChild(getElement(dialogId));//删除diaglog 
document.body.removeChild(getElement(maskId));//删除背景层 
} 
dialogDiv.appendChild(closeControlloer);//dialog之中增加"关闭"操作 
document.body.appendChild(dialogDiv);//body之中增加dialog 
} 
</script> 
<a href="#" onclick="openDialog('dialog');">Open Dialog</a>

javascript实现的弹出层背景置灰-模拟(easyui dialog)
Javascript 相关文章推荐
js中的数组Array定义与sort方法使用示例
Aug 29 Javascript
Jquery对象和Dom对象的区别分析
Nov 20 Javascript
使用javascript提交form表单方法汇总
Jun 25 Javascript
JS控制伪元素的方法汇总
Apr 06 Javascript
全面解析JavaScript中apply和call以及bind(推荐)
Jun 15 Javascript
vue实现ajax滚动下拉加载,同时具有loading效果(推荐)
Jan 11 Javascript
使用Promise链式调用解决多个异步回调的问题
Jan 15 Javascript
vue中的数据绑定原理的实现
Jul 02 Javascript
vue实现自定义日期组件功能的实例代码
Nov 06 Javascript
JS查找孩子节点简单示例
Jul 25 Javascript
为react组件库添加typescript类型提示的方法
Jun 15 Javascript
js实现Element中input组件的部分功能并封装成组件(实例代码)
Mar 02 Javascript
jQuery删除节点的三个方法即remove()detach()和empty()
Dec 27 #Javascript
类似php的js数组的in_array函数自定义方法
Dec 27 #Javascript
JavaScript将页面表格导出为Excel的具体实现
Dec 27 #Javascript
Java/JS获取flash高宽的具体方法
Dec 27 #Javascript
location.href用法总结(最主要的)
Dec 27 #Javascript
Javascript四舍五入Math.round()与Math.pow()使用介绍
Dec 27 #Javascript
JS去除字符串两端空格的简单实例
Dec 27 #Javascript
You might like
php生成EXCEL的东东
2006/10/09 PHP
Zend Framework教程之动作的基类Zend_Controller_Action详解
2016/03/07 PHP
Laravel 登录后清空COOKIE的操作方法
2019/10/14 PHP
jQueryPad 实用的jQuery测试工具(支持IE,chrome,FF)
2010/05/22 Javascript
jQuery UI Dialog 创建友好的弹出对话框实现代码
2012/04/12 Javascript
JavaScript执行效率与性能提升方案
2012/12/21 Javascript
HTML Color Picker(js拾色器效果)
2013/08/27 Javascript
css3元素简单的闪烁效果实现(html5 jquery)
2013/12/28 Javascript
Javascript玩转继承(一)
2014/05/08 Javascript
Javascript 正则表达式实现为数字添加千位分隔符
2015/03/10 Javascript
通过扫描二维码打开app的实现代码
2016/11/10 Javascript
JavaScript评论点赞功能的实现方法
2017/03/13 Javascript
各种选择框jQuery的选中方法(实例讲解)
2017/06/27 jQuery
基于vue.js实现的分页
2018/03/13 Javascript
Angular异步变同步处理方法
2018/08/13 Javascript
vue webpack开发访问后台接口全局配置的方法
2018/09/18 Javascript
8个有意思的JavaScript面试题
2019/07/30 Javascript
Vue打包后访问静态资源路径问题
2019/11/08 Javascript
使用element-ui +Vue 解决 table 里包含表单验证的问题
2020/07/17 Javascript
解决vue项目axios每次请求session不一致的问题
2020/10/24 Javascript
Python抓取Discuz!用户名脚本代码
2013/12/30 Python
matplotlib绘图实例演示标记路径
2018/01/23 Python
python模块之paramiko实例代码
2018/01/31 Python
取numpy数组的某几行某几列方法
2018/04/03 Python
Python使用pickle模块报错EOFError Ran out of input的解决方法
2018/08/16 Python
将python2.7添加进64位系统的注册表方式
2019/11/20 Python
canvas实现圆绘制的示例代码
2019/09/11 HTML / CSS
手摸手教你用canvas实现给图片添加平铺水印的实现
2019/08/20 HTML / CSS
amazeui时间组件的实现示例
2020/08/18 HTML / CSS
美国购买体育赛事门票网站:TicketCity
2019/03/06 全球购物
屈臣氏官方旗舰店:亚洲享负盛名的保健及美妆零售商
2019/03/15 全球购物
学生实习介绍信
2014/01/15 职场文书
2014年乡镇植树节活动方案
2014/02/28 职场文书
邓小平理论心得体会
2014/09/09 职场文书
SQL Server——索引+基于单表的数据插入与简单查询【1】
2021/04/05 SQL Server
《群青的幻想曲》京力秋树角色PV公开
2022/04/08 日漫