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的history历史记录插件
Dec 11 Javascript
jQuery源码分析之jQuery中的循环技巧详解
Sep 06 Javascript
javascript上下方向键控制表格行选中并高亮显示的方法
Feb 13 Javascript
javascript生成不重复的随机数
Jul 17 Javascript
bootstrap-treeview自定义双击事件实现方法
Jan 09 Javascript
JS验证逗号隔开可以是中文字母数字
Apr 22 Javascript
JavaScript实现页面跳转的方式汇总
May 16 Javascript
sea.js常用的api简易文档
Nov 15 Javascript
基于JS实现bookstore静态页面的实例代码
Feb 22 Javascript
Parcel.js + Vue 2.x 极速零配置打包体验教程
Dec 24 Javascript
vue组件开发props验证的实现
Feb 12 Javascript
JavaScript创建、读取和删除cookie
Sep 03 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生成EXCEL的东东
2006/10/09 PHP
php代码运行时间查看类代码分享
2011/08/06 PHP
Laravel中使用自己编写类库的3种方法
2015/02/10 PHP
php从数据库查询结果生成树形列表的方法
2015/04/17 PHP
详解php魔术方法(Magic methods)的使用方法
2016/02/14 PHP
Yii框架视图、视图布局、视图数据块操作示例
2019/10/14 PHP
javascript 贪吃蛇实现代码
2008/11/22 Javascript
JS中不为人知的五种声明Number的方式简要概述
2013/02/22 Javascript
用jquery实现输入框获取焦点消失文字
2013/04/27 Javascript
JavaScript中输出标签的方法
2014/08/27 Javascript
了不起的node.js读书笔记之node.js中的特性
2014/12/22 Javascript
jQuery实现图片渐入渐出切换展示效果
2015/08/15 Javascript
Nodejs 获取时间加手机标识的32位标识实现代码
2017/03/07 NodeJs
微信小程序 本地数据存储实例详解
2017/04/13 Javascript
JS实现多张图片预览同步上传功能
2017/06/23 Javascript
JS实现div模块的截图并下载功能
2017/10/17 Javascript
nodejs中方法和模块用法示例
2018/12/24 NodeJs
Angular CLI 使用教程指南参考小结
2019/04/10 Javascript
node.js域名解析实现方法详解
2019/11/05 Javascript
Vue实现点击按钮复制文本内容的例子
2019/11/09 Javascript
Nodejs实现WebSocket代码实例
2020/05/19 NodeJs
[58:35]OG vs EG 2019国际邀请赛淘汰赛 胜者组 BO3 第二场 8.22
2019/09/05 DOTA
讲解Python的Scrapy爬虫框架使用代理进行采集的方法
2016/02/18 Python
使用python验证代理ip是否可用的实现方法
2018/07/25 Python
python 列表中[ ]中冒号‘:’的作用
2019/04/30 Python
python实现杨辉三角的几种方法代码实例
2021/03/02 Python
L’urv官网:精品女性运动服品牌
2019/07/07 全球购物
俄罗斯香水在线商店:AromaCode
2019/12/04 全球购物
应届生文秘专业个人自荐信格式
2013/09/21 职场文书
公司业务员岗位职责
2014/03/18 职场文书
巾帼建功标兵事迹材料
2014/05/11 职场文书
三八红旗集体先进事迹材料
2014/05/22 职场文书
公司车队管理制度
2015/08/04 职场文书
一篇文章搞懂python混乱的切换操作与优雅的推导式
2021/08/23 Python
Win11局域网共享权限在哪里设置? Win11高级共享的设置技巧
2022/04/05 数码科技
Python实现将多张图片合成MP4视频并加入背景音乐
2022/04/28 Python