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 iframe的相互操作浅析
Oct 14 Javascript
Javascript 面向对象 继承
May 13 Javascript
JavaScript动态改变表格单元格内容的方法
Mar 30 Javascript
js 连续赋值的简单实现
Jun 13 Javascript
微信小程序 基础知识css样式media标签
Feb 15 Javascript
js实现旋转木马效果
Mar 17 Javascript
vue组件如何被其他项目引用
Apr 13 Javascript
Angular.Js之Scope作用域的学习教程
Apr 27 Javascript
VUE 使用中踩过的坑
Feb 08 Javascript
karma+webpack搭建vue单元测试环境的方法示例
May 24 Javascript
一些可能会用到的Node.js面试题
Jun 15 Javascript
简单使用webpack打包文件的实现
Oct 29 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下用cookie统计用户访问网页次数的代码
2010/05/09 PHP
那些年一起学习的PHP(三)
2012/03/22 PHP
php注销代码(session注销)
2012/05/31 PHP
详解PHP导入导出CSV文件
2014/11/03 PHP
ThinkPHP使用Smarty第三方插件方法小结
2016/03/19 PHP
浅谈PHP链表数据结构(单链表)
2016/06/08 PHP
PHP按符号截取字符串的指定部分的实现方法
2018/09/10 PHP
Javascript Cookie读写删除操作的函数
2010/03/02 Javascript
Knockoutjs快速入门(经典)
2012/12/24 Javascript
javascript去掉前后空格的实例
2013/11/07 Javascript
js如何获取object类型里的键值
2014/02/18 Javascript
JavaScript中实现最高效的数组乱序方法
2014/10/11 Javascript
关于Javascript加载执行优化的研究报告
2014/12/16 Javascript
javascript:void(0)是什么意思及href=#与href=javascriptvoid(0)的区别
2015/11/13 Javascript
jQuery+ajax简单实现文件上传的方法
2016/06/03 Javascript
Angularjs手动解析表达式($parse)
2016/10/12 Javascript
基于Phantomjs生成PDF的实现方法
2016/11/07 Javascript
jquery.validate表单验证插件使用详解
2017/06/21 jQuery
Angularjs之如何在跨域请求中传输Cookie的方法
2018/06/01 Javascript
JSON的parse()方法介绍
2019/01/31 Javascript
详解Element 指令clickoutside源码分析
2019/02/15 Javascript
electron+vue实现div contenteditable截图功能
2020/01/07 Javascript
JS面向对象实现飞机大战
2020/08/26 Javascript
pygame学习笔记(1):矩形、圆型画图实例
2015/04/15 Python
对python使用http、https代理的实例讲解
2018/05/07 Python
对dataframe数据之间求补集的实例详解
2019/01/30 Python
django celery redis使用具体实践
2019/04/08 Python
Django基础知识 web框架的本质详解
2019/07/18 Python
Python语法之精妙的十个知识点(装B语法)
2020/01/18 Python
Idea安装python显示无SDK问题解决方案
2020/08/12 Python
农林环境专业求职信
2014/03/13 职场文书
体育教师个人工作总结
2015/02/09 职场文书
2015社区精神文明建设工作总结
2015/04/21 职场文书
奖金申请报告模板
2015/05/15 职场文书
商业计划书范文
2019/04/24 职场文书
Python实现照片卡通化
2021/12/06 Python