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

作者:互联网

2025-08-19

Javascript教程

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

复制代码代码如下:

< 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教程