html 锁定页面(js遮罩层弹出div效果)
html 锁定页面(js遮罩层弹出div效果)
发布时间:2016-12-30 来源:查字典编辑
摘要:复制代码代码如下:UntitledDocumentfunctioncreateIframe(){//mask遮罩层varnewMask=do...

复制代码 代码如下:

<htmlxmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=gb2312"/>

<title>UntitledDocument</title>

<script>

function createIframe(){

//mask遮罩层

var newMask=document.createElement("div");

newMask.id="mDiv";

newMask.style.position="absolute";

newMask.style.zIndex="1";

_scrollWidth=Math.max(document.body.scrollWidth,document.documentElement.scrollWidth);

_scrollHeight=Math.max(document.body.scrollHeight,document.documentElement.scrollHeight);

// _scrollHeight = Math.max(document.body.offsetHeight,document.documentElement.scrollHeight);

newMask.style.width=_scrollWidth+"px";

newMask.style.height=_scrollHeight+"px";

newMask.style.top="0px";

newMask.style.left="0px";

newMask.style.background="#33393C";

//newMask.style.background = "#FFFFFF";

newMask.style.filter="alpha(opacity=40)";

newMask.style.opacity="0.40";

newMask.style.display='none';

var objDiv=document.createElement("DIV");

objDiv.id="div1";

objDiv.name="div1";

objDiv.style.width="480px";

objDiv.style.height="200px";

objDiv.style.left=(_scrollWidth-480)/2+"px";

objDiv.style.top=(_scrollHeight-200)/2+"px";

objDiv.style.position="absolute";

objDiv.style.zIndex="2"; //加了这个语句让objDiv浮在newMask之上

objDiv.style.display="none"; //让objDiv预先隐藏

objDiv.innerHTML=' <div id="drag" align="right"> <input type=button value="X"/> </div>';

//更改了X按钮为触发关闭事件。

objDiv.style.border="solid #0033FF 3px;";

var frm=document.createElement("iframe");

frm.id="ifrm";

frm.name="ifrm";

frm.style.position="absolute";

frm.style.width="100%";

frm.style.height=180;

frm.style.top=20;

frm.style.display='';

frm.frameborder=0;

objDiv.appendChild(frm);

// newMask.appendChild(objDiv); //问题出在这里:你把frame所在的div变成了 newMask的子元素,当newMask透明度更改时,当然会影响到frame

document.body.appendChild(newMask);

document.body.appendChild(objDiv);

var objDrag=document.getElementById("drag");

var drag=false;

var dragX=0;

var dragY=0;

objDrag.attachEvent("onmousedown",startDrag);

function startDrag(){

if(event.button==1&&event.srcElement.tagName.toUpperCase()=="DIV"){

objDrag.setCapture();

objDrag.style.background="#0000CC";

drag=true;

dragX=event.clientX;

dragY=event.clientY;

}

};

objDrag.attachEvent("onmousemove",Drag);

function Drag(){

if(drag){

var oldwin=objDrag.parentNode;

oldwin.style.left=oldwin.offsetLeft+event.clientX-dragX;

oldwin.style.top=oldwin.offsetTop+event.clientY-dragY;

oldwin.style.left=event.clientX-100;

oldwin.style.top=event.clientY-10;

dragX=event.clientX;

dragY=event.clientY;

}

};

objDrag.attachEvent("onmouseup",stopDrag);

function stopDrag(){

objDrag.style.background="#0033FF";

objDrag.releaseCapture();

drag=false;

};

}

function htmlEditor(){

var frm=document.getElementById("ifrm");

var objDiv=document.getElementById("div1");

var mDiv=document.getElementById("mDiv");

mDiv.style.display='';

var iframeTextContent='';

iframeTextContent+=' <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">';

iframeTextContent+=' <html xmlns="http://www.w3.org/1999/xhtml">';

iframeTextContent+=' <head>';

iframeTextContent+=' <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />';

iframeTextContent+=' </head>';

iframeTextContent+=' <body>';

iframeTextContent+=' <table>';

iframeTextContent+=' <tr>';

iframeTextContent+=' <td>Name </td>';

iframeTextContent+=' <td> <input type="text" value="" /> </td>';

iframeTextContent+=' </tr>';

iframeTextContent+=' <tr>';

iframeTextContent+=' <td>Email </td>';

iframeTextContent+=' <td> <input type="text" value="" /> </td>';

iframeTextContent+=' </tr>';

iframeTextContent+=' <tr>';

iframeTextContent+=' <td> <input type="button" id="btGo" value="Go" /> </td>';

iframeTextContent+=' </tr>';

iframeTextContent+=' </table>';

iframeTextContent+=' </body>';

iframeTextContent+=' </html>';

frm.contentWindow.document.designMode='off';

frm.contentWindow.document.open();

frm.contentWindow.document.write(iframeTextContent);

frm.contentWindow.document.close();

objDiv.style.display = ""; //显示浮动的div

var objGo=frm.contentWindow.document.getElementById("btGo");

objGo.attachEvent("onclick",function (){

HideIframe(mDiv,objDiv);

});

}

function HideIframe(mDiv,objDiv){

mDiv.style.display='none';

objDiv.style.display = "none"; //隐藏浮动的div

}

</script>

</head>

<body onLoad="createIframe()">

<table>

<tr>

<td>aa</td>

<td><input type="text"/></td>

</tr>

<tr>

<td>bb</td>

<td><input type="text"/></td>

</tr>

</table>

[br]

<input type="button"id="tt"name="tt"value="Click"onClick="htmlEditor()"/>

</body>

</html>

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新Javascript教程学习
热门Javascript教程学习
编程开发子分类