js弹出层永远居中实现思路及代码


Posted in Javascript onNovember 29, 2013

弹出层窗口永远居中

<script type="text/javascript"> 
var isIE=window.XMLHttpRequest?false:true; 
var aIsIE={}; 
window.onload=function(){ 
if(isIE){ 
window.onscroll=doIE; 
window.onresize=doIE; } 
function doIE(){ 
aIsIE.top=document.documentElement.scrollTop; 
aIsIE.left=document.documentElement.scrollLeft; 
var width=document.documentElement.clientWidth; 
var height=document.documentElement.clientHeight; 
var oDiv=document.getElementById("oneReply"); 
oDiv.style.top=aIsIE.top+(height-oDiv.offsetHeight)/2+'px'; 
oDiv.style.left=aIsIE.left+(width-oDiv.offsetWidth)/2+'px'; </script>

首先大家要了解一个不兼容的css样式position:fixed;

Position属性有四个可选值,它们分别是:static、absolute、fixed、relative。

我们下面来共同学习它们的不同的用法,在学习中我们应该去思考在什么布局情况下,应该使用它们其中的哪一种。

position:static 无定位该属性值是所有元素定位的默认情况,在一般情况下,我们不需要特别的去声明它,但有时候遇到继承的情况,我们不愿意见到元素所继承的属性影响本身,从而可以用position:static取消继承,即还原元素定位的默认值。如:#nav { position:static; } 其他两种前面提过,我们 主要说的是fixed position:fixed 相对于窗口的固定定位这个定位属性值是什么意思呢?元素的定位方式同absolute类似,但它的包含块是视区本身。在屏幕媒体如WEB浏览器中,元素在文档滚动时不会在浏览器视察中移动。例如,它允许框架样式布局。在页式媒体如打印输出中,一个固定元素会出现于第一页的相同位置。这一点可用于生成流动标题或脚注。我们也见过相似的效果,但大都数效果不是通过CSS来实现了,而是应用了JS脚本。请特别注意,IE6不支持……

这里我们用position:fixed;+ “hack技术” +“javascript”;结合来解决这一问题
js弹出层永远居中实现思路及代码 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML1.0 Transitional//EN" "http://www.w3.org/1999/xhtml/TR/xhtml/DTD/xhtml1-transitional.dtd"> 
< html xmlns="http://www.w3.org/1999/xhtml"> 
< head> 
< meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
< title>图胜前端工程师</title> 
< style type="text/css"> 
body,div{margin:0; padding:0;} 
#a{width:200px;height:200px;background:blue;position:fixed;left:50%;top:50%;margin-left:-100px;margin-top:-100px;_position:absolute;} 
< /style> 
< script type="text/javascript"> 
var isIE=window.XMLHttpRequest?false:true; 
var aIsIE={}; 
window.onload=function(){ 
if(isIE){ 
window.onscroll=doIE; 
window.onresize=doIE; } 
function doIE(){ 
aIsIE.top=document.documentElement.scrollTop; 
aIsIE.left=document.documentElement.scrollLeft; 
var width=document.documentElement.clientWidth; 
var height=document.documentElement.clientHeight; 
var oDiv=document.getElementById("a"); 
oDiv.style.top=aIsIE.top+(height-oDiv.offsetHeight)/2+'px'; 
oDiv.style.left=aIsIE.left+(width-oDiv.offsetWidth)/2+'px';< /script> 
< /head> 
< body style="width:100%;"> 
< div id="a"></div> 
< br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/> 
< /body> 
< /html>
Javascript 相关文章推荐
在js中判断checkboxlist(.net控件客户端id)是否有选中
Apr 11 Javascript
jQuery不兼容input的change事件问题解决过程
Dec 05 Javascript
2014年50个程序员最适用的免费JQuery插件
Dec 15 Javascript
node.js 动态执行脚本
Jun 02 Javascript
全面理解闭包机制
Jul 11 Javascript
在js里怎么实现Xcode里的callFuncN方法(详解)
Nov 05 Javascript
jQuery Autocomplete简介_动力节点Java学院整理
Jul 17 jQuery
Vue实现typeahead组件功能(非常靠谱)
Aug 26 Javascript
Vue项目添加动态浏览器头部title的方法
Jul 11 Javascript
解决select2在bootstrap modal中不能正常使用的问题
Aug 09 Javascript
js中addEventListener()与removeEventListener()用法案例分析
Mar 02 Javascript
前端性能优化建议
Sep 17 Javascript
根据表格中的某一列进行排序的javascript代码
Nov 29 #Javascript
JS取文本框中最小值的简单实例
Nov 29 #Javascript
js中的eventType事件及其浏览器支持性介绍
Nov 29 #Javascript
js简单实现根据身份证号码识别性别年龄生日
Nov 29 #Javascript
JS求平均值的小例子
Nov 29 #Javascript
javascript简单实现表格行间隔显示颜色并高亮显示
Nov 29 #Javascript
JS小功能(button选择颜色)简单实例
Nov 29 #Javascript
You might like
PHP5下$_SERVER变量不再受magic_quotes_gpc保护的弥补方法
2012/10/31 PHP
PHP中通过trigger_error触发PHP错误示例
2015/06/23 PHP
PHP中抽象类和抽象方法概念与用法分析
2016/05/24 PHP
php解析base64数据生成图片的方法
2016/12/06 PHP
javascript之ESC(第二类混淆)
2007/05/06 Javascript
JS+CSS实现美化的下拉列表框效果
2015/08/11 Javascript
jqueryMobile 动态添加元素,展示刷新视图的实现方法
2016/05/28 Javascript
Laydate时间组件在火狐浏览器下有多时间输入框时只能给第一个输入框赋值的解决方法
2016/08/18 Javascript
JavaScript 动态三角函数实例详解
2017/01/08 Javascript
js实现下一页页码效果
2017/03/07 Javascript
Angularjs上传图片实例详解
2017/08/06 Javascript
解决Vue编译时写在style中的路径问题
2017/09/21 Javascript
开发用到的js封装方法(20种)
2018/10/12 Javascript
vue中echarts图表大小适应窗口大小且不需要刷新案例
2020/07/19 Javascript
使用vue引入maptalks地图及聚合效果的实现
2020/08/10 Javascript
使用Python获取Linux系统的各种信息
2014/07/10 Python
python中dir函数用法分析
2015/04/17 Python
Python实现读取txt文件并画三维图简单代码示例
2017/12/09 Python
Python实现翻转数组功能示例
2018/01/12 Python
详解python3中tkinter知识点
2018/06/21 Python
python 实现读取一个excel多个sheet表并合并的方法
2019/02/12 Python
详解Python字典的操作
2019/03/04 Python
Python OpenCV实现视频分帧
2019/06/01 Python
Python 脚本的三种执行方式小结
2019/12/21 Python
python读取Kafka实例
2019/12/23 Python
HTML5轻松实现全屏视频背景的示例
2018/04/23 HTML / CSS
机电一体化专业应届本科生求职信
2013/09/27 职场文书
廉政教育心得体会
2014/01/01 职场文书
校园招聘策划书
2014/01/09 职场文书
亮剑精神演讲稿
2014/05/23 职场文书
运动会宣传稿50字
2015/07/23 职场文书
2016年情人节问候语
2015/11/11 职场文书
PyTorch 如何设置随机数种子使结果可复现
2021/05/12 Python
Windows11插耳机没反应怎么办? win11耳机没声音的多种解决办法
2021/11/21 数码科技
Python实现归一化算法详情
2022/03/18 Python
改造DE1103三步曲
2022/04/07 无线电