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 相关文章推荐
在b/s开发中经常用到的javaScript技术
Aug 23 Javascript
JS过滤url参数特殊字符的实现方法
Dec 24 Javascript
jQuery实现单击弹出Div层窗口效果(可关闭可拖动)
Sep 19 Javascript
JS数组去掉重复数据只保留一条的实现代码
Aug 11 Javascript
Javascript 实现简单计算器实例代码
Oct 23 Javascript
基于BootstrapValidator的Form表单验证(24)
Dec 12 Javascript
js实现本地图片文件拖拽效果
Jul 18 Javascript
angular2路由切换改变页面title的示例代码
Aug 23 Javascript
vue实现类似淘宝商品评价页面星级评价及上传多张图片功能
Oct 29 Javascript
深入理解JavaScript 箭头函数
May 30 Javascript
vue-cli3配置与跨域处理方法
Aug 17 Javascript
JavaScript Date对象功能与用法学习记录
Apr 28 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
跟我学小偷程序之成功偷取首页(第三天)
2006/10/09 PHP
PHP 加密解密内部算法
2010/04/22 PHP
PHP获取当前url的具体方法全面解析
2013/11/26 PHP
在php和MySql中计算时间差的方法详解
2015/03/27 PHP
PHP常用排序算法实例小结【基本排序,冒泡排序,快速排序,插入排序】
2017/02/07 PHP
详解PHP处理字符串类似indexof的方法函数
2017/06/11 PHP
Jquery实现页面加载时弹出对话框代码
2013/04/19 Javascript
轻松创建nodejs服务器(10):处理上传图片
2014/12/18 NodeJs
js实现有过渡渐变效果的图片轮播相册(兼容IE,ff)
2016/01/19 Javascript
javaScript中的原型解析【推荐】
2016/05/05 Javascript
超详细的JS弹出窗口代码大全
2020/04/18 Javascript
javascript cookie基础应用之记录用户名的方法
2016/09/20 Javascript
Vue+Element使用富文本编辑器的示例代码
2017/08/14 Javascript
微信小程序列表中item左滑删除功能
2018/11/07 Javascript
记一次vue-webpack项目优化实践详解
2019/02/17 Javascript
小程序使用watch监听数据变化的方法详解
2019/09/20 Javascript
Vue.js仿Select下拉框效果
2020/02/18 Javascript
Python字符转换
2008/09/06 Python
Python fileinput模块使用实例
2015/05/28 Python
Python中XlsxWriter模块简介与用法分析
2018/04/24 Python
基于Python pip用国内镜像下载的方法
2018/06/12 Python
Django 实现前端图片压缩功能的方法
2019/08/07 Python
python调用函数、类和文件操作简单实例总结
2019/11/29 Python
使用canvas对多图片拼合并导出图片的方法
2018/08/28 HTML / CSS
html5响应式开发自动计算fontSize的方法
2020/01/13 HTML / CSS
英国女装网上商店:I Saw It First
2018/10/18 全球购物
英国在线发型和美容产品商店:Beauty Cutie
2019/04/27 全球购物
毕业生求职推荐信
2013/11/04 职场文书
资助贫困学生倡议书
2014/05/16 职场文书
2014年小学教研工作总结
2014/12/06 职场文书
画展邀请函
2015/01/31 职场文书
商务代表岗位职责
2015/02/15 职场文书
解除劳动合同通知书范本
2015/04/16 职场文书
2015年教研组工作总结
2015/05/04 职场文书
2015年迎新晚会策划书
2015/07/16 职场文书
openEuler 搭建java开发环境的详细过程
2022/06/10 Servers