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 图片轮播(5张图片)
Dec 30 Javascript
JavaScript中的Array对象使用说明
Jan 17 Javascript
js使用eval解析json(js中使用json)
Jan 17 Javascript
JavaScript实现的双向跨域插件分享
Jan 31 Javascript
在React框架中实现一些AngularJS中ng指令的例子
Mar 06 Javascript
浅谈jQuery为哪般去掉了浏览器检测
Aug 29 Javascript
js实现键盘自动打字效果
Dec 23 Javascript
node中使用es5/6以及支持性与性能对比
Aug 11 Javascript
详解利用Angular实现多团队模块化SPA开发框架
Nov 27 Javascript
详解react-router 4.0 下服务器如何配合BrowserRouter
Dec 29 Javascript
vue-infinite-loading2.0 中文文档详解
Apr 08 Javascript
关于Angularjs中自定义指令一些有价值的细节和技巧小结
Apr 22 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
PHP将进程作为守护进程的方法
2015/03/19 PHP
Ajax中的JSON格式与php传输过程全面解析
2017/11/14 PHP
jQuery Selector选择器小结
2010/05/06 Javascript
ajax中get和post的说明及使用与区别
2012/12/23 Javascript
JavaScript调用堆栈及setTimeout使用方法深入剖析
2013/02/16 Javascript
jquery js 重置表单 reset()具体实现代码
2013/08/05 Javascript
JQuery $.each遍历JavaScript数组对象实例
2014/09/01 Javascript
JavaScript中string转换成number介绍
2014/12/31 Javascript
JQuery实现防止退格键返回的方法
2015/02/12 Javascript
基于jquery实现日历签到功能
2020/09/11 Javascript
解决vue 路由变化页面数据不刷新的问题
2018/03/13 Javascript
在小程序中使用腾讯视频插件播放教程视频的方法
2018/07/10 Javascript
TypeScript基础入门教程之三重斜线指令详解
2018/10/22 Javascript
Vue.js 父子组件通信的十种方式
2018/10/30 Javascript
JS/jQuery实现简单的开关灯效果【案例】
2019/02/19 jQuery
vue项目中使用rem,在入口文件添加内容操作
2020/11/11 Javascript
[05:31]DOTA2英雄梦之声_第04期_光之守卫
2014/06/23 DOTA
在Mac OS上搭建Python的开发环境
2015/12/24 Python
python实现list元素按关键字相加减的方法示例
2017/06/09 Python
python中通过预先编译正则表达式提高效率
2017/09/25 Python
详解python使用Nginx和uWSGI来运行Python应用
2018/01/09 Python
python pygame模块编写飞机大战
2018/11/20 Python
在PyCharm中批量查找及替换的方法
2019/01/20 Python
如何使用Python进行OCR识别图片中的文字
2019/04/01 Python
Pandas之Fillna填充缺失数据的方法
2019/06/25 Python
Python学习笔记之Django创建第一个数据库模型的方法
2019/08/07 Python
用python实现英文字母和相应序数转换的方法
2019/09/18 Python
python图形用户接口实例详解
2019/12/16 Python
Python使用多进程运行含有任意个参数的函数
2020/05/02 Python
Django+RestFramework API接口及接口文档并返回json数据操作
2020/07/12 Python
高尔夫球鞋、服装、手套和装备:FootJoy
2018/12/15 全球购物
用友笔试题目
2016/10/25 面试题
放飞中国梦演讲稿
2014/04/23 职场文书
民主评议党员个人总结
2015/02/13 职场文书
python 实现德洛内三角剖分的操作
2021/04/22 Python
JavaScript中MutationObServer监听DOM元素详情
2021/11/27 Javascript