js实现div弹出层的方法

 话说现在各种插件出来了要实现弹出层真是太简单了,但个人有时觉得那些插件不实用经常会找一些纯js原生态的东西,下面来给各位分享一个原生太js div弹出层实例,有需要的朋友可一起看看。

这个不用多说了,直接贴代码吧.有码有注释:

代码如下:
/*
 * 弹出DIV层
*/
function showDiv()
{
var Idiv     = document.getElementById("Idiv");
var mou_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";
 
//以下部分使整个页面至灰不可点击
var procbg = 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"; //取消滚动条
 
//以下部分实现弹出层的拖拽效果
var posX;
var posY;
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;
}
function mousemove(ev)
{
if(ev==null) ev = window.event;//IE
Idiv.style.left = (ev.clientX - posX) + "px";
Idiv.style.top = (ev.clientY - posY) + "px";
}
}
function closeDiv() //关闭弹出层
{
var Idiv=document.getElementById("Idiv");
Idiv.style.display="none";
document.body.style.overflow = "auto"; //恢复页面滚动条
var body = document.getElementsByTagName("body");
var mybg = document.getElementById("mybg");
body[0].removeChild(mybg);
}
<!--弹出层开始-->

 

<div id="Idiv" style="display:none; position:absolute; z-index:1000; background:#67a3d9;">
    <div id="mou_head" style="width="100px; height=10px;z-index:1001; position:absolute;">这个是用来实现拖层</div>
    <input type="button" value="关闭" onclick="closeDiv();" />
</div>
<!--结束-->

至于一些美化效果,大家可以自己去修修改改了。

时间: 2025-01-30 17:26:14

js实现div弹出层的方法的相关文章

js控制div弹出层实现方法

  本文实例讲述了js控制div弹出层实现方法.分享给大家供大家参考.具体分析如下: 这是个功能很好,且容易调用和控制的弹出层.感兴趣的朋友可以调试运行一下看看效果如何~O(∩_∩)O~ ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 5

js实现div弹出层的方法_javascript技巧

本文实例讲述了js实现div弹出层的方法.分享给大家供大家参考.具体分析如下: 话说现在各种插件出来了要实现弹出层真是太简单了,但个人有时觉得那些插件不实用经常会找一些纯js原生态的东西,下面来给各位分享一个原生太js div弹出层实例,有需要的朋友可一起看看. 这个不用多说了,直接贴代码吧.有码有注释: 复制代码 代码如下: /*  * 弹出DIV层 */ function showDiv() { var Idiv     = document.getElementById("Idiv&quo

js实现div弹出层实例代码

这个不用多说了,直接贴代码吧.代码有注释:  代码如下 复制代码 /*  * 弹出DIV层 */ function showDiv() { var Idiv     = document.getElementById("Idiv"); var mou_head = document.getElementById('mou_head'); Idiv.style.display = "block"; //以下部分要将弹出层居中显示 Idiv.style.left=(do

Js制作简单弹出层DIV在页面居中 中间显示遮罩的具体方法_javascript技巧

这两天要用到正好练练手,比想象中碰到的问题要多,比如: ie6背景透明 ie6居中显示 还有对js对象的理解 openID=显示按钮,conID=需要显示的div,closeID=关闭按钮 解决了: 1.可以遮挡ie6下的select元素 但是在ie6下div没有透明度 2.弹出的div可以一直在浏览器屏幕中间显示 问题: 1.目前不支持.class 只支持#id 2.需要显示的div需要自己设置css 3.在ie6下需要设置css 例如div {_position: absolute;_top

js+div 弹出层城市切换代码

提示:您可以先修改部分代码再运行 js+div 弹出层城市切换代码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head>

js点击弹出层以外的地方关闭层

我们在web前端开发的过程中,常常会遇到这样的效果,就是我们点击某个元素让层出现,而点击层以外的地方层隐藏,而小编在平时开发过程中也遇到过这样的问题,通过自己的实践得到一个比较好的方法,今天给大家说一说,为了让大家看的清楚,我直接以实例说明. 一.要用到的知识 1.事件冒泡 2.事件对象(e.target和e.srcElement) 二.实例 html代码:  代码如下 复制代码 <div id="div1″></div> <input type="but

jsp ajax div 弹出层-DIV 弹出层没办法实现

问题描述 DIV 弹出层没办法实现 <!DOCTYPE html PUBLIC ""-//W3C//DTD HTML 4.01 Transitional//EN"" ""http://www.w3.org/TR/html4/loose.dtd""> Insert title here#popupcontent{ position: absolute; visibility: hidden; overflow: hi

js-layer弹出层的方法不能用,总报方法无效

问题描述 layer弹出层的方法不能用,总报方法无效 解决方案 这是报错. 解决方案二: 这是代码,哪位大神帮帮看看什么情况啊. 解决方案三: 首先你要确定你的layer.min.js的路径有没有错,服务器里面有没有这个文件

覃超-js如何禁止弹出层中的日期空间随着底层滚动的问题啊

问题描述 js如何禁止弹出层中的日期空间随着底层滚动的问题啊 现在红色区域的日期空间 laydate随着底层的滚动跳的滚动而滚动,如何通过js禁止,让他固定在弹出层 解决方案 这个只要用css把显示坐标设为固定定位就可以了.详解CSS相对定位,绝对定位与固定定位 解决方案二: 你可以试试在js中取出红色区域的最高级的一个标签,应该是一个div标签,然后在js中给这个标签加一个css,css的内容是利用绝对定位将红色区域固定在你想要的位置