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 相关文章推荐
JavaScript 变量基础知识
Nov 07 Javascript
JS获取浏览器版本及名称实现函数
Apr 02 Javascript
jquery遍历select元素(实例讲解)
Dec 31 Javascript
AngularJS基础学习笔记之表达式
May 10 Javascript
微信开发 微信授权详解
Oct 21 Javascript
可输入文字查找ajax下拉框控件 ComBox的实现方法
Oct 25 Javascript
socket.io学习教程之基本应用(二)
Apr 29 Javascript
js实现图片懒加载效果
Jul 17 Javascript
vue2实现数据请求显示loading图
Nov 28 Javascript
详解如何在webpack中做预渲染降低首屏空白时间
Aug 22 Javascript
微信小程序 调用远程接口 给全局数组赋值代码实例
Aug 13 Javascript
探索node之事件循环的实现
Oct 30 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
摩卡咖啡
2021/03/03 咖啡文化
PHP编程与应用
2006/10/09 PHP
Fatal error: session_start(): Failed to initialize storage module: files问题解决方法
2014/05/04 PHP
smarty表格换行实例
2014/12/15 PHP
thinkPHP简单导入和使用阿里云OSSsdk的方法
2017/03/15 PHP
Mozilla中显示textarea中选择的文字
2006/09/07 Javascript
IE与firefox之jquery用法区别
2008/10/03 Javascript
jqueyr判断checkbox组的选中(示例代码)
2013/11/08 Javascript
jQuery 设置 CSS 属性示例介绍
2014/01/16 Javascript
获取中文字符串的实际长度代码
2014/06/05 Javascript
深入理解JavaScript系列(21):S.O.L.I.D五大原则之接口隔离原则ISP详解
2015/03/05 Javascript
jQuery实现鼠标经过购物车出现下拉框代码(推荐)
2016/07/21 Javascript
node.js中 stream使用教程
2016/08/28 Javascript
JS作用域闭包、预解释和this关键字综合实例解析
2016/12/16 Javascript
基于vue实现多引擎搜索及关键字提示
2017/03/16 Javascript
JavaScript比较同一天的时间大小实例代码
2018/02/09 Javascript
JavaScript循环遍历你会用哪些之小结篇
2018/09/28 Javascript
JS实现获取自定义属性data值的方法示例
2018/12/19 Javascript
浅谈鸿蒙 JavaScript GUI 技术栈
2020/09/17 Javascript
Python使用稀疏矩阵节省内存实例
2014/06/27 Python
Python模拟百度登录实例详解
2016/01/20 Python
python tkinter组件摆放方式详解
2019/09/16 Python
Python写捕鱼达人的游戏实现
2020/03/31 Python
Python eval函数原理及用法解析
2020/11/14 Python
Python: glob匹配文件的操作
2020/12/11 Python
Python用户自定义异常的实现
2020/12/25 Python
CSS的background属性及CSS3的背景图片设置总结
2016/06/13 HTML / CSS
英国体育器材进口商店:UK Sport Imports
2017/03/14 全球购物
西班牙著名的珠宝首饰品牌:P D PAOLA
2018/09/15 全球购物
外贸业务员求职信
2014/06/16 职场文书
2014乡镇党政班子四风问题思想汇报
2014/09/14 职场文书
兵马俑导游词
2015/02/02 职场文书
党支部对转正的意见
2015/06/02 职场文书
深入浅析Redis 集群伸缩原理
2021/05/15 Redis
上帝为你开了一扇窗之Tkinter常用函数详解
2021/06/02 Python
MySQL深度分页(千万级数据量如何快速分页)
2021/07/25 MySQL