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 相关文章推荐
js之WEB开发调试利器:Firebug 下载
Jan 13 Javascript
Jquery UI震动效果实现原理及步骤
Feb 04 Javascript
javascript截取字符串(通过substring实现并支持中英文混合)
Jun 24 Javascript
js监听键盘事件示例代码
Jul 26 Javascript
用js闭包的方法实现多点标注冒泡示例
May 29 Javascript
JavaScript实现算术平方根算法-代码超简单
Sep 11 Javascript
jQuery实现ctrl+enter(回车)提交表单
Oct 19 Javascript
JS+JSP通过img标签调用实现静态页面访问次数统计的方法
Dec 14 Javascript
微信小程序之选项卡的实现方法
Sep 29 Javascript
Vue Router的懒加载路径的解决方法
Jun 21 Javascript
微信小程序音乐播放器开发
Nov 20 Javascript
vue 解决provide和inject响应的问题
Nov 12 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中文本数据翻页(留言本翻页)
2006/10/09 PHP
MYSQL环境变量设置方法
2007/01/15 PHP
PHP学习散记_编码(json_encode 中文不显示)
2011/11/10 PHP
PHP中递归的实现实例详解
2017/11/14 PHP
php 替换文章中的图片路径,下载图片到本地服务器的方法
2018/02/06 PHP
Jquery 表单取值赋值的一些基本操作
2009/10/11 Javascript
javascript qq右下角滑出窗口 sheyMsg
2010/03/21 Javascript
基于jQuery的动态表格插件
2011/03/28 Javascript
js 可拖动列表实现代码
2011/12/13 Javascript
最佳6款用于移动网站开发的jQuery 图片滑块插件小结
2012/07/20 Javascript
JS常用正则表达式总结
2013/11/12 Javascript
JS来动态的修改url实现对url的增删查改
2014/09/05 Javascript
JavaScript原生对象之Date对象的属性和方法详解
2015/03/13 Javascript
JavaScript学习笔记之ES6数组方法
2016/03/25 Javascript
PHP捕捉异常中断的方法
2016/10/24 Javascript
微信小程序  modal详解及实例代码
2016/11/09 Javascript
javascript中数组(Array)对象和字符串(String)对象的常用方法总结
2016/12/15 Javascript
用jQuery实现可输入多选下拉组合框实例代码
2017/01/18 Javascript
javascript 单例模式详解及简单实例
2017/02/14 Javascript
JavaScript中防止微信浏览器被整体拖动的方法
2017/08/25 Javascript
微信小程序 如何保持登录状态
2019/08/16 Javascript
Angular 中使用 FineReport不显示报表直接打印预览
2019/08/21 Javascript
解决angular 使用原生拖拽页面卡顿及表单控件输入延迟问题
2020/04/21 Javascript
JS数组降维的实现Array.prototype.concat.apply([], arr)
2020/04/28 Javascript
Python中apply函数的用法实例教程
2014/07/31 Python
python实现数独算法实例
2015/06/09 Python
Python实现定时自动关闭的tkinter窗口方法
2019/02/16 Python
python的一些加密方法及python 加密模块
2019/07/11 Python
Python编写一个验证码图片数据标注GUI程序附源码
2019/12/09 Python
彪马日本官网:PUMA日本
2019/01/31 全球购物
FC-Moto美国:欧洲最大的摩托车服装和头盔商店之一
2019/08/24 全球购物
学生拾金不昧表扬信
2014/01/21 职场文书
党在我心中演讲稿
2014/09/02 职场文书
2014年收银工作总结
2014/11/13 职场文书
2015年校务公开工作总结
2015/05/26 职场文书
MySQL基础(二)
2021/04/05 MySQL