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 相关文章推荐
关于innerHTML后丢失动态绑定的EVENT问题解决方法
May 19 Javascript
JS 数字转换研究总结
Dec 26 Javascript
js中文逗号转英文实现
Feb 11 Javascript
javascript判断变量是否有值的方法
Apr 20 Javascript
简介JavaScript中getUTCMonth()方法的使用
Jun 10 Javascript
详细分析JavaScript变量类型
Jul 08 Javascript
谈谈jQuery Ajax用法详解
Nov 27 Javascript
jQuery中each遍历的三种方法实例分析
Sep 07 jQuery
JS实现换肤功能的方法实例详解
Jan 30 Javascript
vue父子模板传值问题解决方法案例分析
Feb 26 Javascript
JS实现放烟花效果
Mar 10 Javascript
详解element-ui 表单校验 Rules 配置 常用黑科技
Jul 11 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
《忧国的莫里亚蒂》先导宣传图与STAFF公开
2020/03/04 日漫
PHP自定义函数收代码
2010/08/01 PHP
php中关于普通表单多文件上传的处理方法
2011/03/25 PHP
php读取der格式证书乱码解决方法
2015/06/22 PHP
基于thinkPHP类的插入数据库操作功能示例
2017/01/06 PHP
Centos7.7 64位利用本地完整安装包安装lnmp/lamp套件教程
2021/03/09 Servers
Bookmarklet实现启动jQuery(模仿 云输入法)
2010/09/15 Javascript
jQuery简单实现彩色云标签效果示例
2016/08/01 Javascript
基于JavaScript实现前端文件的断点续传
2016/10/17 Javascript
Node.js+jade抓取博客所有文章生成静态html文件的实例
2017/09/19 Javascript
JavaScript使用小插件实现倒计时的方法讲解
2019/03/11 Javascript
详解小程序中h5页面onShow实现及跨页面通信方案
2019/05/30 Javascript
jQuery层叠选择器用法实例分析
2019/06/28 jQuery
layui动态渲染生成select的option值方法
2019/09/23 Javascript
js 函数性能比较方法
2020/08/24 Javascript
Node在Controller层进行数据校验的过程详解
2020/08/28 Javascript
Python验证码识别处理实例
2015/12/28 Python
解决Pandas to_json()中文乱码,转化为json数组的问题
2018/05/10 Python
PyCharm配置mongo插件的方法
2018/11/30 Python
对Python3中bytes和HexStr之间的转换详解
2018/12/04 Python
Python csv模块使用方法代码实例
2019/08/29 Python
用python实现英文字母和相应序数转换的方法
2019/09/18 Python
浅谈python已知元素,获取元素索引(numpy,pandas)
2019/11/26 Python
使用python写一个自动浏览文章的脚本实例
2019/12/05 Python
HTML5离线缓存在tomcat下部署可实现图片flash等离线浏览
2012/12/13 HTML / CSS
HTML5制作表格样式
2016/11/15 HTML / CSS
技校教师求职简历的自我评价
2013/10/20 职场文书
优秀应届毕业生自荐信
2013/11/16 职场文书
2014两会学习心得:时代的发展
2014/03/17 职场文书
党建工作先进材料
2014/05/02 职场文书
合同意向书范本
2014/07/30 职场文书
反四风个人对照检查材料
2014/09/26 职场文书
公司授权委托书格式样本
2014/10/01 职场文书
网站出售协议书范文
2014/10/10 职场文书
委托书格式要求
2015/01/28 职场文书
幼儿体育课教学反思
2016/02/16 职场文书