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 相关文章推荐
基于jquery的15款幻灯片插件
Apr 10 Javascript
利用毫秒减值计算时长的js代码
Sep 22 Javascript
简单选项卡 js和jquery制作方法分享
Feb 26 Javascript
js实现文本框输入文字个数限制代码
Dec 25 Javascript
javascript执行环境及作用域详解
May 05 Javascript
基于Bootstrap3表格插件和分页插件实例详解
May 17 Javascript
浅谈JS中的!=、== 、!==、===的用法和区别
Sep 24 Javascript
jQuery中的select操作详解
Nov 29 Javascript
web前端vue之CSS过渡效果示例
Jan 10 Javascript
详解Vue2 添加对scss的支持
Jan 02 Javascript
使用axios请求时,发送formData请求的示例
Oct 29 Javascript
vuex实现像调用模板方法一样调用Mutations方法
Nov 06 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 创建以UNIX时间戳命名的文件夹(示例代码)
2014/03/08 PHP
ThinkPHP模板中判断volist循环的最后一条记录的验证方法
2014/07/01 PHP
php目录遍历函数opendir用法实例
2014/11/20 PHP
PHP实现获取并生成数据库字典的方法
2016/05/04 PHP
tp5 sum某个字段相加得到总数的例子
2019/10/18 PHP
JavaScript语言中的Literal Syntax特性分析
2007/03/08 Javascript
js获取图片大小的函数代码
2011/09/20 Javascript
[原创]推荐10款最热门jQuery UI框架
2014/08/19 Javascript
jQuery实现在最后一个元素之前插入新元素的方法
2015/07/18 Javascript
JS实现兼容性较好的随屏滚动效果
2015/11/09 Javascript
简单介绍JavaScript数据类型之隐式类型转换
2015/12/28 Javascript
jQuery中text() val()和html()的区别实例详解
2016/06/28 Javascript
jQuery validata插件实现方法
2017/06/25 jQuery
Async Validator 异步验证使用说明
2017/07/03 Javascript
vue系列之动态路由详解【原创】
2017/09/10 Javascript
javascript+css实现俄罗斯方块小游戏
2020/06/28 Javascript
[09:33]2015国际邀请赛第四日TOP10
2015/08/08 DOTA
python使用socket向客户端发送数据的方法
2015/04/29 Python
python中list常用操作实例详解
2015/06/03 Python
python轻松查到删除自己的微信好友
2016/01/10 Python
Python中list初始化方法示例
2016/09/18 Python
5个很好的Python面试题问题答案及分析
2018/01/19 Python
PyQt5实现画布小程序
2020/05/30 Python
Python库安装速度过慢解决方案
2020/07/14 Python
详解python命令提示符窗口下如何运行python脚本
2020/09/11 Python
用HTML5实现网站在windows8中贴靠的方法
2013/04/21 HTML / CSS
Foot Locker德国官方网站:美国运动服和鞋类零售商
2018/11/01 全球购物
国家励志奖学金个人先进事迹材料
2014/05/04 职场文书
银行求职信范文
2014/05/26 职场文书
艺术学院毕业生求职信
2014/07/09 职场文书
干部职工纪律作风整改措施思想汇报
2014/10/11 职场文书
学校政风行风自查自纠报告
2014/10/21 职场文书
2014年乡镇纪委工作总结
2014/12/19 职场文书
红高粱观后感
2015/06/10 职场文书
服务行业标语口号
2015/12/26 职场文书
Python加密技术之RSA加密解密的实现
2022/04/08 Python