jQuery弹出层始终垂直居中相对于屏幕或当前窗口


Posted in Javascript onApril 01, 2013

弹出层永远是一个前端必须搞定的东西,一般情况下,如果弹出层有固定的高和宽,用样式即可搞定,但是如果碰到没有固定高或者固定宽或者固定高和宽的时候,我们就需要用JS去处理,去动态获取当前窗口高或者宽;今天弄了2种情况,一个是相对于屏幕窗体,一个是相对于当前的窗口,看代码,或许对你有用:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/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> 
body{margin:0px;padding:0px} 
#div1{background:#F00;color: #FFF; display:none;position:absolute;} 
#div2{background:#333333;color: #FFF;width:400px;display:none; position:absolute;} 
</style> 
<Script type="text/javascript" src="http://jt.875.cn/js/jquery.js"></script> 
//浏览器窗口垂直居中 
<!-- 
<Script type="text/javascript"> 
function popup(popupName){ 
var _scrollHeight = $(document).scrollTop(),//获取当前窗口距离页面顶部高度 
_windowHeight = $(window).height(),//获取当前窗口高度 
_windowWidth = $(window).width(),//获取当前窗口宽度 
_popupHeight = popupName.height(),//获取弹出层高度 
_popupWeight = popupName.width();//获取弹出层宽度 
_posiTop = (_windowHeight - _popupHeight)/2 + _scrollHeight; 
_posiLeft = (_windowWidth - _popupWeight)/2; 
popupName.css({"left": _posiLeft + "px","top":_posiTop + "px","display":"block"});//设置position 
} 
$(function(){ 
$(".btn1").click(function(){ 
popup($("#div1")); 
}); 
$(".btn2").click(function(){ 
popup($("#div2")); 
}); 
}); 
</script> 
--> 
//当前窗口垂直居中 
<Script type="text/javascript"> 
function popup(popupName){ 
_windowHeight = $(".wrap").height(),//获取当前窗口高度 
_windowWidth = $(".wrap").width(),//获取当前窗口宽度 
_popupHeight = popupName.height(),//获取弹出层高度 
_popupWeight = popupName.width();//获取弹出层宽度 
_posiTop = (_windowHeight - _popupHeight)/2; 
_posiLeft = (_windowWidth - _popupWeight)/2; 
popupName.css({"left": _posiLeft + "px","top":_posiTop + "px","display":"block"});//设置position 
} 
$(function(){ 
$(".btn1").click(function(){ 
popup($("#div1")); 
}); 
$(".btn2").click(function(){ 
popup($("#div2")); 
}); 
}); 
</script> 
</head> 
<body > 
<div > 
<input class="btn1" type="button" value="1"/></div> 
<input class="btn2" type="button" value="2"/></div> 
<div style="width:500px; background:#ccc; position:relative; top:100px; left:200px;" class="wrap"> 
我是当前窗口啊我是当前窗口啊我是当前窗口啊我是当前窗口啊我是当前窗口啊我是当前窗口啊<br>我是当前窗口啊我是当前窗口啊我是当前窗口啊<br>我是当前窗口啊我是当前窗口啊我是当前窗口啊<br>我是当前窗口啊我是当前窗口啊我是当前窗口啊<br>我是当前窗口啊我是当前窗口啊我是当前窗口啊 
<br>我是当前窗口啊我是当前窗口啊我是当前窗口啊我是当前窗口啊 
<div id="div1">我是弹出窗口1111啊<br>我是弹出窗口1111啊<br>我是弹出窗口1111啊<br>我是弹出窗口1111啊<br>我是弹出窗口1111啊<br>我是弹出窗口1111啊<br>我是弹出窗口1111啊</div> 
<div id="div2">我是弹出窗口2222啊<br>我是弹出窗口2222啊<br>我是弹出窗口2222啊<br>我是弹出窗口2222啊<br>我是弹出窗口2222啊</div> 
</div> 
</body> 
</html>
Javascript 相关文章推荐
js获取判断上传文件后缀名的示例代码
Feb 19 Javascript
JavaScript中的console.trace()函数介绍
Dec 29 Javascript
Javascript中String的常用方法实例分析
Jun 13 Javascript
使用AngularJS来实现HTML页面嵌套的方法
Jun 17 Javascript
JQuery EasyUI的使用
Feb 24 Javascript
Javascript中常用的检测方法小结
Oct 08 Javascript
通过扫描二维码打开app的实现代码
Nov 10 Javascript
微信小程序 wx.request方法的异步封装实例详解
May 18 Javascript
快速解决angularJS中用post方法时后台拿不到值的问题
Aug 14 Javascript
微信小程序上传多图到服务器并获取返回的路径
May 05 Javascript
p5.js临摹动态图形实现方法详解
Oct 23 Javascript
node.js使用stream模块实现自定义流示例
Feb 13 Javascript
js 获取(接收)地址栏参数值的方法
Apr 01 #Javascript
表格单元格交错着色实现思路及代码
Apr 01 #Javascript
javascript 禁用IE工具栏,导航栏等等实现代码
Apr 01 #Javascript
Js 时间函数getYear()的使用问题探讨
Apr 01 #Javascript
jQuery去掉字符串起始和结尾的空格(多种方法实现)
Apr 01 #Javascript
JS动态添加option和删除option(附实例代码)
Apr 01 #Javascript
点击隐藏页面左栏或右栏实现js代码
Apr 01 #Javascript
You might like
用PHP和ACCESS写聊天室(六)
2006/10/09 PHP
PHP编程函数安全篇
2013/01/08 PHP
PHP转换IP地址到真实地址的方法详解
2013/06/09 PHP
php处理带有中文URL的方法
2016/07/11 PHP
Nginx+php配置文件及原理解析
2020/12/09 PHP
轻轻松松学JS调试(不下载任何工具)
2010/04/14 Javascript
基于jQuery的弹出警告对话框美化插件(警告,确认和提示)
2010/06/10 Javascript
Javascript中 关于prototype属性实现继承的原理图
2013/04/16 Javascript
表单类各种类型(文本框)失去焦点效果jquery代码
2013/04/26 Javascript
详解Javascript 装载和执行
2014/11/17 Javascript
移动端使用localStorage缓存Js和css文的方法(web开发)
2016/09/20 Javascript
微信小程序 slider 详解及实例代码
2017/01/10 Javascript
NodeJS处理Express中异步错误
2017/03/26 NodeJs
从零开始学习Node.js系列教程一:http get和post用法分析
2017/04/13 Javascript
JavaScript惰性求值的一种实现方法示例
2019/01/11 Javascript
extract-text-webpack-plugin用法详解
2019/02/14 Javascript
Javascript删除数组里的某个元素
2019/02/28 Javascript
vue+iview实现文件上传
2020/11/17 Vue.js
Linux下使用python调用top命令获得CPU利用率
2015/03/10 Python
Python实现的文本编辑器功能示例
2017/06/30 Python
Python高级property属性用法实例分析
2019/11/19 Python
Python网络爬虫四大选择器用法原理总结
2020/06/01 Python
Python爬取豆瓣数据实现过程解析
2020/10/27 Python
CSS3 绘制BMW logo实的现代码
2013/04/25 HTML / CSS
三星加拿大官方网上商店:Samsung CA
2020/12/18 全球购物
户外拓展活动方案
2014/02/11 职场文书
运动会闭幕式解说词
2014/02/21 职场文书
安全生产责任书范本
2014/04/15 职场文书
员工趣味活动方案
2014/08/27 职场文书
房屋鉴定委托书范本
2014/09/23 职场文书
单位法人授权委托书范本
2014/10/09 职场文书
2014年保管员工作总结
2014/11/18 职场文书
uwsgi+nginx代理Django无法访问静态资源的解决
2021/05/10 Servers
Mybatis-plus在项目中的简单应用
2021/07/01 Java/Android
MySQL8.0升级的踩坑历险记
2021/11/01 MySQL
victoriaMetrics库布隆过滤器初始化及使用详解
2022/04/05 Golang