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基于VML技术实现的五角星礼花效果代码
Oct 26 Javascript
学习JavaScript设计模式之责任链模式
Jan 18 Javascript
JavaScript+html5 canvas制作色彩斑斓的正方形效果
Jan 27 Javascript
jQuery插件支持同一页面被多次调用
Feb 14 Javascript
js 转json格式的字符串为对象或数组(前后台)的方法
Nov 02 Javascript
jQuery实现的页面遮罩层功能示例【测试可用】
Oct 14 jQuery
Node.js 的 GC 机制详解
Jun 03 Javascript
微信小程序iBeacon测距及稳定程序的实现解析
Jul 31 Javascript
微信小程序 checkbox使用实例解析
Sep 09 Javascript
JS实现旋转木马轮播图
Jan 01 Javascript
js获取本日、本周、本月的时间代码
Feb 01 Javascript
AI小程序之语音听写来了,十分钟掌握百度大脑语音听写全攻略
Mar 13 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
收音机频率指针指示不准确和灵敏度低问题
2021/03/02 无线电
PHP 网络开发详解之远程文件包含漏洞
2010/04/25 PHP
PHP常用开发函数解析之数组篇[未完结]
2012/07/30 PHP
7个鲜为人知却非常实用的PHP函数
2015/07/01 PHP
优化 JavaScript 代码的方法小结
2009/07/16 Javascript
基于jquery的网站幻灯片切换效果焦点图代码
2013/09/15 Javascript
深入理解Javascript中的循环优化
2013/11/09 Javascript
jquery带动画效果幻灯片特效代码
2015/08/27 Javascript
JavaScript中的时间处理小结
2016/02/24 Javascript
JavaScript获取图片像素颜色并转换为box-shadow显示
2016/03/11 Javascript
vue-cli 构建骨架屏的方法示例
2018/11/08 Javascript
Vue从TodoList中学父子组件通信
2019/02/05 Javascript
Vue使用axios出现options请求方法
2019/05/30 Javascript
JS实现纵向轮播图(初级版)
2020/01/18 Javascript
vue各种事件监听实例(小结)
2020/06/24 Javascript
[01:01:18]VP vs NIP 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/17 DOTA
[39:46]完美世界DOTA2联赛PWL S2 LBZS vs Rebirth 第二场 11.25
2020/11/25 DOTA
python局域网ip扫描示例分享
2014/04/03 Python
Python迭代和迭代器详解
2016/11/10 Python
Python模块WSGI使用详解
2018/02/02 Python
python 查找文件名包含指定字符串的方法
2018/06/05 Python
python3解析库pyquery的深入讲解
2018/06/26 Python
python3.6利用pyinstall打包py为exe的操作实例
2018/10/31 Python
Python设计模式之备忘录模式原理与用法详解
2019/01/15 Python
详解python3 + Scrapy爬虫学习之创建项目
2019/04/12 Python
python字典的遍历3种方法详解
2019/08/10 Python
Python线程条件变量Condition原理解析
2020/01/20 Python
Python字符串函数strip()原理及用法详解
2020/07/23 Python
python语音识别指南终极版(有这一篇足矣)
2020/09/09 Python
jupyter 添加不同内核的操作
2021/02/06 Python
奥地利汽车配件店:Pkwteile.at
2017/03/10 全球购物
上海奥佳笔试题面试题
2016/11/16 面试题
公司清洁工岗位职责
2013/12/14 职场文书
《小松树和大松树》教学反思
2014/02/20 职场文书
导游词之杭州西湖
2019/09/19 职场文书
MySQL创建管理KEY分区
2022/04/13 MySQL