JS弹出居中的DIV的代码
来源:互联网 发布:linux服务器硬件配置 编辑:程序博客网 时间:2024/05/22 08:14
首先再次详细解释一下JS中窗口和网页的几种尺寸属性的含义
document.body.clientWidth(网页可见区域宽):是指浏览器显示网页的区域宽度,不包括浏览器的边框宽度和垂直滚动条的宽度。大小随着浏览器的窗口大小而改变。
document.body.clientHeight(网页可见区域高):是指浏览器显示网页的区域所能看到的高度,不包括浏览器的边框宽度和水平滚动条的高度。大小随着浏览器的窗口大小而改变。
document.body.scrollTop(网页被卷去的高):是指拉动垂直滚动条时网页上面被地址栏及菜单栏遮盖着的部分的高。
document.body.scrollLeft(网页被卷去的左):是指拉动水平滚动条时网页左面被左边线遮盖着的部分的宽。
现在我们来分析一下程序该如何实现:
第一步我们要实现的是使层在弹出时绝对居中不去考虑是否有滚动条的情况。
1.计算出层距离显示区域左边和上边的位置
注意:divId指的是所要居中的层,divId.clientWidth为其宽度!@
var divId = document.getElementById("xxx");
var v_left=(document.body.clientWidth-divId.clientWidth)/2;
var v_top=(document.body.clientHeight-divId.clientHeight)/2;
2.把得到的值重新赋给DIV的left和top属性
divId.style.left=v_left;
divId.style.top=v_top;
说明:divId为DIV标签的id值
这样这个层就是居中显示的了。
第二步我们要实现的是使在拖动滚动条的情况下弹出的层也能居中。
其实很简单我们只要把拖动的宽度和高度加到前面计算出来的左边距和上边距中就OK 了。
v_left+=document.body.scrollLeft;
v_top+=document.body.scrollTop;
2.把得到的值重新赋给DIV的left和top属性
divId.style.left=v_left;
divId.style.top=v_top;
这样显示出来就是居中的了。
完整代码如下:
[Ctrl+A 全选 提示:你可先修改部分代码,再按运行]
如果你想在拖动滚动条或是窗口重置大小时,层也能居中显示的话,可以在body的属性里面加上onresize="divcenter();"和onscroll="divcenter();"就OK了,不过可能显示的效果不是很好,特别是在拖动滚动条时的效果可能是一擅一擅的,忒不爽。
- JS弹出居中的DIV的代码
- JS弹出居中的DIV的代码
- JS弹出居中的DIV的代码
- JS弹出居中的DIV
- JS弹出居中的DIV
- 让弹出的div居中
- 弹出居中的div层
- 浮动的div自适应居中显示的js代码
- DIV始终居中的半透明弹出层
- 使弹出div的文职居中显示
- DIV 始终居中的代码
- 非常不错的弹出一个div的js代码
- 弹出div的js实现
- js弹出的窗口居中显示
- js弹出的窗口居中显示
- JS定制弹出窗口的居中方法
- 点击弹出居中的遮罩层代码
- 点击弹出居中的遮罩层代码 .
- DIY计算机自动开关机自己做
- asp.net怎么实现QQ浮动窗口???
- Apache2 正向代理配置
- Mime类型与文件后缀对照表
- 所谓并查集
- JS弹出居中的DIV的代码
- scala 接触~! 这是个简单介绍。转载的~!
- c# Invoke和BeginInvoke 区别
- Js弹出窗口、居中、居角、扩大窗口至屏幕最大的代码
- Axapta中的ForcePlaceHolders与ForceLiterals
- 动态语言、脚本语言和解释型语言之间有什么区别和联系
- 一个树形菜单的好类
- MDX中常见的计算方法
- Asp.Net Master模板页的控件和属性