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 相关文章推荐
ExtJS GridPanel 根据条件改变字体颜色
Mar 08 Javascript
js实现简单随机抽奖的方法
Jan 27 Javascript
JavaScript获取网页表单action属性的方法
Apr 02 Javascript
JavaScript代码轻松实现网页内容禁止复制(代码简单)
Oct 23 Javascript
jQuery实现下拉加载功能实例代码
Apr 01 Javascript
Bootstrap表单控件学习使用
Mar 07 Javascript
jQuery插件FusionCharts实现的MSBar2D图效果示例【附demo源码】
Mar 24 jQuery
使用Vue-Router 2实现路由功能实例详解
Nov 14 Javascript
浅谈gulp创建完整的项目流程
Dec 20 Javascript
解决vue中修改export default中脚本报一大堆错的问题
Aug 27 Javascript
vue-loader中引入模板预处理器的实现
Sep 04 Javascript
Vue+Element UI 树形控件整合下拉功能菜单(tree + dropdown +input)
Aug 28 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下实现一个阿拉伯数字转中文数字的函数
2008/07/10 PHP
php获取字段名示例分享
2014/03/03 PHP
thinkPHP5项目中实现QQ第三方登录功能
2017/10/20 PHP
Aster vs Newbee BO5 第三场2.19
2021/03/10 DOTA
用js计算页面执行时间的函数
2006/12/07 Javascript
javascript的键盘控制事件说明
2008/04/15 Javascript
js 目录列举函数
2008/11/06 Javascript
基于jQuery试卷自动排版系统
2010/07/18 Javascript
jquery实现控制表格行高亮实例
2013/06/05 Javascript
Jquery easyUI 更新行示例
2014/03/06 Javascript
Html5的placeholder属性(IE兼容)实现代码
2014/08/30 Javascript
jquery移动点击的项目到列表最顶端的方法
2015/06/24 Javascript
javascript实现下班倒计时效果的方法(可桌面通知)
2015/07/10 Javascript
跟我学习javascript的prototype,getPrototypeOf和__proto__
2015/11/17 Javascript
js实现控制textarea输入字符串的个数,鼠标按下抬起判断输入字符数
2016/10/25 Javascript
解决VUEX兼容IE上的报错问题
2018/03/01 Javascript
jQuery实现百度图片移入移出内容提示框上下左右移动的效果
2018/06/05 jQuery
原生JS实现的轮播图功能详解
2018/08/06 Javascript
JS前端知识点 运算符优先级,URL编码与解码,String,Math,arguments操作整理总结
2019/06/27 Javascript
深入了解Hybrid App技术的相关知识
2019/07/17 Javascript
Vue.js组件通信之自定义事件详解
2019/10/19 Javascript
python实现通过shelve修改对象实例
2014/09/26 Python
Python实现简单多线程任务队列
2016/02/27 Python
在NumPy中创建空数组/矩阵的方法
2018/06/15 Python
python中enumerate() 与zip()函数的使用比较实例分析
2019/09/03 Python
CSS3绘制超炫的上下起伏波动进度加载动画
2016/04/21 HTML / CSS
澳大利亚自然和有机的健康美容产品一站式商店:Ziani Beauty
2017/12/28 全球购物
薇姿法国官网:Vichy法国
2021/01/28 全球购物
高级人员简历的自我评价分享
2013/11/03 职场文书
总裁岗位职责
2013/12/04 职场文书
军神教学反思
2014/02/04 职场文书
班级标语大全
2014/06/21 职场文书
羽毛球社团活动总结
2014/06/27 职场文书
军事博物馆观后感
2015/06/05 职场文书
2015年秋季灭鼠工作总结
2015/07/27 职场文书
2019年教师节祝福语精选,给老师送上真诚的祝福
2019/09/09 职场文书