js实现div弹出层的方法


Posted in Javascript onNovember 20, 2014

本文实例讲述了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>

<!--结束-->

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

希望本文所述对大家的javascript程序设计有所帮助。

Javascript 相关文章推荐
Chrome扩展页面动态绑定JS事件提示错误
Feb 11 Javascript
node.js中的http.response.writeHead方法使用说明
Dec 14 Javascript
jQuery中:last-child选择器用法实例
Dec 31 Javascript
jQuery中eq()方法用法实例
Jan 05 Javascript
JavaScript生成福利彩票双色球号码
May 15 Javascript
javascript:void(0)点击登录没反应怎么解决
Nov 13 Javascript
jQuery使用Layer弹出层插件闪退问题
Dec 22 Javascript
Vue.js对象转换实例
Jun 07 Javascript
vue实现导航栏效果(选中状态刷新不消失)
Dec 13 Javascript
微信小程序日历组件使用方法详解
Dec 29 Javascript
js实现时钟定时器
Mar 26 Javascript
three.js 如何制作魔方
Jul 31 Javascript
JavaScript中的公有、私有、特权和静态成员用法分析
Nov 20 #Javascript
js实现二代身份证号码验证详解
Nov 20 #Javascript
js实现网页标题栏闪烁提示效果实例分析
Nov 20 #Javascript
javascript获取flash版本号的方法
Nov 20 #Javascript
Jquery对象和Dom对象的区别分析
Nov 20 #Javascript
深入理解javascript变量声明
Nov 20 #Javascript
javascript限制用户只能输汉字中文的方法
Nov 20 #Javascript
You might like
php修改NetBeans默认字体的大小
2013/07/02 PHP
php打开远程文件的方法和风险及解决方法
2013/11/12 PHP
php多维数组去掉重复值示例分享
2014/03/02 PHP
php表单处理操作
2017/11/16 PHP
PHP实现数组根据某个单元字段排序操作示例
2018/08/01 PHP
使用户点击后退按钮使效三行代码
2007/07/07 Javascript
JS 继承实例分析
2008/11/04 Javascript
javascript操作cookie_获取与修改代码
2009/05/21 Javascript
JavaScript 以对象为索引的关联数组
2010/05/19 Javascript
javascript与CSS复习(三)
2010/06/29 Javascript
jquery拖动插件(jquery.drag)使用介绍
2013/06/18 Javascript
代码获取历史上的今天发生的事
2014/04/11 Javascript
js脚本分页代码分享(7种样式)
2015/08/19 Javascript
jQuery 局部div刷新和全局刷新方法总结
2016/10/05 Javascript
Angularjs2不同组件间的通信实例代码
2017/05/06 Javascript
NProgress显示顶部进度条效果及使用详解
2019/09/21 Javascript
[02:41]DOTA2英雄基础教程 谜团
2013/12/10 DOTA
Python内置函数bin() oct()等实现进制转换
2012/12/30 Python
Python过滤函数filter()使用自定义函数过滤序列实例
2014/08/26 Python
Python中exit、return、sys.exit()等使用实例和区别
2015/05/28 Python
利用Python如何实现数据驱动的接口自动化测试
2018/05/11 Python
对pandas的层次索引与取值的新方法详解
2018/11/06 Python
flask/django 动态查询表结构相同表名不同数据的Model实现方法
2019/08/29 Python
提升python处理速度原理及方法实例
2019/12/25 Python
HTML5中新标签和常用标签详解
2014/03/07 HTML / CSS
国际领先的学术出版商:Springer
2017/01/11 全球购物
ROSEFIELD手表荷兰官方网上商店:北欧极简设计女士腕表品牌
2018/01/24 全球购物
伦敦著名的运动鞋综合商店:Footpatrol
2019/03/25 全球购物
雷曼兄弟的五金店:Lehman’s Hardware Store
2019/04/10 全球购物
模具设计与制造专业推荐信
2014/02/16 职场文书
人事专员工作职责
2014/02/22 职场文书
拾金不昧锦旗标语
2014/06/27 职场文书
525心理健康活动总结
2015/05/08 职场文书
会计专业自荐信范文
2019/05/22 职场文书
自制短波长线天线频率预选器 - 成功消除B2K之流的镜像
2021/04/22 无线电
Django 实现jwt认证的示例
2021/04/30 Python