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 相关文章推荐
菜鸟javascript基础整理1
Dec 06 Javascript
css配合jquery美化 select
Nov 29 Javascript
js中的onchange和onpropertychange (onchange无效的解决方法)
Mar 08 Javascript
fckeditor粘贴Word时弹出窗口取消的方法
Oct 30 Javascript
JavaScript插件化开发教程 (二)
Jan 27 Javascript
jquery模拟进度条实现方法
Aug 03 Javascript
jQuery插件HighCharts实现的2D条状图效果示例【附demo源码下载】
Mar 15 Javascript
Angular2自定义分页组件
Apr 19 Javascript
基于jQuery对象和DOM对象和字符串之间的转化实例
Aug 08 jQuery
Vue.js最佳实践(五招助你成为vuejs大师)
May 04 Javascript
简单了解Ajax表单序列化的实现方法
Jun 14 Javascript
在vue中实现禁止屏幕滚动,禁止屏幕滑动
Jul 22 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基础学习之变量的使用
2011/06/09 PHP
php下foreach提示Warning:Invalid argument supplied for foreach()的解决方法
2014/11/11 PHP
JS实现字体选色板实例代码
2013/11/20 Javascript
JS创建自定义表格具体实现
2014/02/11 Javascript
jQuery拖动div、移动div、弹出层实现原理及示例
2014/04/08 Javascript
jQuery模拟点击A标记示例参考
2014/04/17 Javascript
node.js中的buffer.fill方法使用说明
2014/12/14 Javascript
jQuery弹出框代码封装DialogHelper
2015/01/30 Javascript
JavaScript转换与解析JSON方法实例详解
2015/11/24 Javascript
JS简单获取及显示当前时间的方法
2016/08/03 Javascript
纯原生js实现table表格的增删
2017/01/05 Javascript
Vue.js原理分析之observer模块详解
2017/02/17 Javascript
利用jquery去掉时光轴头尾部线条的方法实例
2017/06/16 jQuery
vue生成文件本地打开查看效果的实例
2018/09/06 Javascript
Vue核心概念Action的总结
2019/01/18 Javascript
详解ES7 Decorator 入门解析
2019/02/18 Javascript
详解使用Nuxt.js快速搭建服务端渲染(SSR)应用
2019/03/13 Javascript
Vue使用Ref跨层级获取组件的步骤
2021/01/25 Vue.js
讲解Python中for循环下的索引变量的作用域
2015/04/15 Python
Python3导入自定义模块的三种方法详解
2018/04/13 Python
tensorflow 获取模型所有参数总和数量的方法
2018/06/14 Python
Python读取txt文件数据的方法(用于接口自动化参数化数据)
2018/06/27 Python
pyqt5对用qt designer设计的窗体实现弹出子窗口的示例
2019/06/19 Python
python tkinter图形界面代码统计工具
2019/09/18 Python
python子线程退出及线程退出控制的代码
2019/10/16 Python
Pycharm远程连接服务器并实现代码同步上传更新功能
2020/02/25 Python
Python基于pandas绘制散点图矩阵代码实例
2020/06/04 Python
keras训练浅层卷积网络并保存和加载模型实例
2020/07/02 Python
阿迪达斯丹麦官网:adidas丹麦
2016/10/01 全球购物
日本最大的购物网站:日本乐天市场(Rakuten Ichiba)
2020/11/04 全球购物
计算机学生求职信范文
2014/01/30 职场文书
2014年终个人工作总结
2014/11/07 职场文书
2014年终工作总结范本
2014/12/15 职场文书
大学生团员个人总结
2015/02/14 职场文书
网络研修心得体会
2016/01/08 职场文书
iOS 16进一步确认,一共支持16款iPhone
2022/04/28 数码科技