js实现div弹出层的方法
本文实例讲述了js实现div弹出层的方法。分享给大家供大家参考。具体分析如下:
话说现在各种插件出来了要实现弹出层真是太简单了,但个人有时觉得那些插件不实用经常会找一些纯js原生态的东西,下面来给各位分享一个原生太jsdiv弹出层实例,有需要的朋友可一起看看。
这个不用多说了,直接贴代码吧.有码有注释:
/*
*弹出DIV层
*/
functionshowDiv()
{
varIdiv =document.getElementById("Idiv");
varmou_head=document.getElementById('mou_head');
Idiv.style.display="block";
//以下部分要将弹出层居中显示
Idiv.style.left=(document.documentElement.clientWidth-Idiv.clientWidth)/2+document.documentElement.scrollLeft+"px";
Idiv.style.top=(document.documentElement.clientHeight-Idiv.clientHeight)/2+document.documentElement.scrollTop-50+"px";
//以下部分使整个页面至灰不可点击
varprocbg=document.createElement("div");//首先创建一个div
procbg.setAttribute("id","mybg");//定义该div的id
procbg.style.background="#000000";
procbg.style.width="100%";
procbg.style.height="100%";
procbg.style.position="fixed";
procbg.style.top="0";
procbg.style.left="0";
procbg.style.zIndex="500";
procbg.style.opacity="0.6";
procbg.style.filter="Alpha(opacity=70)";
//背景层加入页面
document.body.appendChild(procbg);
document.body.style.overflow="hidden";//取消滚动条
//以下部分实现弹出层的拖拽效果
varposX;
varposY;
mou_head.onmousedown=function(e)
{
if(!e)e=window.event;//IE
posX=e.clientX-parseInt(Idiv.style.left);
posY=e.clientY-parseInt(Idiv.style.top);
document.onmousemove=mousemove;
}
document.onmouseup=function()
{
document.onmousemove=null;
}
functionmousemove(ev)
{
if(ev==null)ev=window.event;//IE
Idiv.style.left=(ev.clientX-posX)+"px";
Idiv.style.top=(ev.clientY-posY)+"px";
}
}
functioncloseDiv()//关闭弹出层
{
varIdiv=document.getElementById("Idiv");
Idiv.style.display="none";
document.body.style.overflow="auto";//恢复页面滚动条
varbody=document.getElementsByTagName("body");
varmybg=document.getElementById("mybg");
body[0].removeChild(mybg);
}
<!--弹出层开始-->
<divid="Idiv"style="display:none;position:absolute;z-index:1000;background:#67a3d9;"> <divid="mou_head"style="width="100px;height=10px;z-index:1001;position:absolute;">这个是用来实现拖层</div> <inputtype="button"value="关闭"onclick="closeDiv();"/> </div> <!--结束-->