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 相关文章推荐
DOM 脚本编程中的兄弟节点
Oct 31 Javascript
jqgrid 编辑添加功能详细解析
Nov 08 Javascript
JavaScript中奇葩的假值示例应用
Mar 11 Javascript
javascript实现tab切换特效
Nov 12 Javascript
4种JavaScript实现简单tab选项卡切换的方法
Jan 06 Javascript
JS实现拖动滚动条评分的效果代码分享
Sep 29 Javascript
使用vue.js实现checkbox的全选和多个的删除功能
Feb 17 Javascript
Vue.js 2.0中select级联下拉框实例
Mar 06 Javascript
使用 Node.js 对文本内容分词和关键词抽取
May 27 Javascript
详解vue-cli快速构建vue应用并实现webpack打包
Dec 13 Javascript
vue2.0 自定义组件的方法(vue组件的封装)
Jun 05 Javascript
jQuery实现飞机大战小游戏
Jul 05 jQuery
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 柱状图实现代码
2009/12/04 PHP
php实现简单加入购物车功能
2017/03/07 PHP
PHP实现APP微信支付的实例讲解
2018/02/10 PHP
laravel框架使用FormRequest进行表单验证,验证异常返回JSON操作示例
2020/02/18 PHP
你所要知道JS(DHTML)中的一些技巧
2007/01/09 Javascript
JavaScript 开发中规范性的一点感想
2009/06/23 Javascript
JavaScript生成随机数的4种自定义函数分享
2015/02/28 Javascript
在JavaScript中处理时间之getHours()方法的使用
2015/06/10 Javascript
React + webpack 环境配置的方法步骤
2017/09/07 Javascript
ES6解构赋值的功能与用途实例分析
2017/10/31 Javascript
微信小程序实现之手势锁功能实例代码
2018/07/19 Javascript
vue项目中添加单元测试的方法
2018/07/21 Javascript
Vue递归组件+Vuex开发树形组件Tree--递归组件的简单实现
2019/04/01 Javascript
Vue.js实现备忘录功能
2019/06/26 Javascript
浅谈小程序globalData的那些事儿
2019/11/01 Javascript
JS绘图Flot应用图形绘制异常解决方案
2020/10/16 Javascript
python 捕获shell脚本的输出结果实例
2017/01/04 Python
Python登录并获取CSDN博客所有文章列表代码实例
2017/12/28 Python
JS设计模式之责任链模式实例详解
2018/02/03 Python
Python生成任意范围任意精度的随机数方法
2018/04/09 Python
很酷的python表白工具 你喜欢我吗
2019/04/11 Python
Pycharm远程调试原理及具体配置详解
2019/08/08 Python
DataFrame.to_excel多次写入不同Sheet的实例
2019/12/02 Python
python中68个内置函数的总结与介绍
2020/02/24 Python
Python3 shelve对象持久存储原理详解
2020/03/23 Python
django中url映射规则和服务端响应顺序的实现
2020/04/02 Python
vscode写python时的代码错误提醒和自动格式化的方法
2020/05/07 Python
Python 连接 MySQL 的几种方法
2020/09/09 Python
Python logging日志库空间不足问题解决
2020/09/14 Python
意大利领先的线上奢侈品销售电商:Eleonora Bonucci
2017/10/17 全球购物
MYPROTEIN澳大利亚官方网站:欧洲运动营养品牌
2019/06/26 全球购物
十佳大学生事迹材料
2014/01/29 职场文书
银行职员自我鉴定
2014/04/20 职场文书
教师业务培训方案
2014/05/01 职场文书
创业计划书之川味火锅店
2019/09/02 职场文书
Java中CyclicBarrier和CountDownLatch的用法与区别
2021/08/23 Java/Android