Js控制弹窗实现在任意分辨率下居中显示


Posted in Javascript onAugust 01, 2013

贴代码

<!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>弹出窗口_3water.com</title> 
<link type="text/css" rel="stylesheet" href="window.css"> 
<script language="javascript" type="text/javascript" src="../../jquery/jquery.js"></script> 
<script language="javascript" type="text/javascript" src="window.js"></script> 
<script language="javascript"> 
$(document).ready(function (){ 
$("#btn_center").click(function (){ 
$(window).scroll(function (){ 
popcenterWindow(); 
}); 
}); 
$("#btn_right").click(function (){ 
$(window).scroll(function (){ 
poprightWindow(); 
}); 
}); 
$("#btn_left").click(function (){ 
$(window).scroll(function (){ 
popleftWindow(); 
}); 
}); 
}); 
</script> 
</head> 
<body> 
<input type="button" value="弹出居中的窗口" id="btn_center"> 
<input type="button" value="弹出居右的窗口" id="btn_right"> 
<input type="button" value="弹出居左的窗口" id="btn_left"> 
<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> 
<div class="window" id="center"> 
<div class="title"><img src="close.gif">csdn欢迎您</div> 
<div class="content">哈哈哈哈哈哈哈</div> 
</div> 
<div class="window" id="right"> 
<div class="title"><img src="close.gif">csdn欢迎您</div> 
<div class="content">哈哈哈哈哈哈哈</div> 
</div> 
<div class="window" id="left"> 
<div class="title"><img src="close.gif">csdn欢迎您</div> 
<div class="content">哈哈哈哈哈哈哈</div> 
</div> 
</body> 
</html>

JS
//窗口的高度 
var windowHeight; 
//窗口的宽度 
var windowWidth; 
//弹窗的高度 
var popHeight; 
//弹窗的宽度 
var popWidth; 
//滚动条滚动的高度 
var scrollTop; 
//滚动条滚动的宽度 
var scrollleft; 
//延时的时间 
var timeout; 
function init(){ 
//获得窗口的高度 
windowHeight=$(window).height(); 
//获得窗口的宽度 
windowWidth=$(window).width(); 
//获得弹窗的高度 
popHeight=$(".window").height(); 
//获得弹窗的宽度 
popWidht=$(".window").width(); 
//获得滚动条的高度 
scrollTop=$(window).scrollTop(); 
//获得滚动条的宽度 
scrollleft=$(window).scrollLeft(); 
} 
//定义关闭窗口 
function closeWindow(){ 
$(".title img").click(function (){ 
$(this).parent().parent().hide("slow"); }); 
} 
//定义弹出窗口的方法 
function popcenterWindow(){ 
//先清空上一次的延迟 
clearTimeout(timeout); 
timeout=setTimeout(function (){ 
init(); 
var popY=(windowHeight-popHeight)/2+scrollTop; 
var popX=(windowWidth-popWidht)/2+scrollleft; 
$("#center").animate({top:popY,left:popX},300).show("slow");},300); 
closeWindow(); 
} 
function popleftWindow(){ 
clearTimeout(timeout); 
timeout=setTimeout(function (){ 
init(); 
var popY=windowHeight+scrollTop-popHeight-10; 
var popX=scrollleft-5; 
$("#left").animate({top:popY,left:popX},300).show("slow");},300); 
closeWindow(); 
} 
function poprightWindow(){ 
clearTimeout(timeout); 
timeout=setTimeout(function (){ 
init(); 
var popY=windowHeight-popHeight+scrollTop-10; 
var popX=windowWidth-popWidht+scrollleft-10; 
$("#right").animate({top:popY,left:popX},300).show("slow");},300); 
closeWindow(); 
}

CSS
<SPAN style="FONT-SIZE: 18px">.window{ 
width:250px; 
background-color:#3FF; 
padding:2px; 
margin:5px; 
position:absolute; 
display:none; 
} 
.content{ 
height:150px; 
background-color:#FFF; 
padding:2px; 
font-size:14px; 
overflow:auto; 
} .title{ 
padding:2px; 
color:#999; 
font-size:14px; 
} 
.title img{ 
float:right; 
cursor:pointer; 
}</SPAN>
Javascript 相关文章推荐
javascript 全角转换实现代码
Jul 17 Javascript
JS实现仿QQ聊天窗口抖动特效
May 10 Javascript
javascript实现设置、获取和删除Cookie的方法
Jun 01 Javascript
理解JavaScript的变量的入门教程
Jul 07 Javascript
JavaScript中的this机制
Jan 30 Javascript
Bootstrap网格系统详解
Apr 26 Javascript
JavaScript程序中的流程控制语句用法总结
May 23 Javascript
浅谈jQuery中ajaxPrefilter的应用
Aug 01 Javascript
JS闭包可被利用的常见场景小结
Apr 09 Javascript
vue、react等单页面项目应该这样子部署到服务器
Jan 03 Javascript
微信小程序实现获取用户信息并存入数据库操作示例
May 07 Javascript
微信小程序获取用户绑定手机号方法示例
Jul 21 Javascript
Jquery同辈元素选中/未选中效果的实例代码
Aug 01 #Javascript
解决js数据包含加号+通过ajax传到后台时出现连接错误
Aug 01 #Javascript
Javascript 遮罩层和加载效果代码
Aug 01 #Javascript
JS防止用户多次提交的简单代码
Aug 01 #Javascript
纯文字版返回顶端的js代码
Aug 01 #Javascript
JS实现随机化快速排序的实例代码
Aug 01 #Javascript
js中的前绑定和后绑定详解
Aug 01 #Javascript
You might like
中篇:安装及配置PHP
2006/12/13 PHP
PHP实现发送邮件的方法(基于简单邮件发送类)
2015/12/17 PHP
配置Nginx+PHP的正确思路与过程
2016/05/10 PHP
PHP实现简单ajax Loading加载功能示例
2016/12/28 PHP
javascript之学会吝啬 精简代码
2010/04/25 Javascript
提升你网站水平的jQuery插件集合推荐
2011/04/19 Javascript
非html5实现js版弹球游戏示例代码
2013/09/22 Javascript
纯Javascript实现ping功能的方法
2015/03/20 Javascript
bootstrap为水平排列的表单和内联表单设置可选的图标
2017/02/15 Javascript
BootStrap下的弹出框加载select2框架失败的解决方法
2017/08/31 Javascript
原生JS获取元素的位置与尺寸实现方法
2017/10/18 Javascript
vuex的简单使用教程
2018/02/02 Javascript
JavaScript判断日期时间差的实例代码
2018/03/01 Javascript
vue2.0 computed 计算list循环后累加值的实例
2018/03/07 Javascript
vue加载自定义的js文件方法
2018/03/13 Javascript
js+SVG实现动态时钟效果
2018/07/14 Javascript
Vue数据驱动表单渲染,轻松搞定form表单
2019/07/19 Javascript
VSCode launch.json配置详细教程
2020/06/18 Javascript
Python显示进度条的方法
2014/09/20 Python
Python中一些自然语言工具的使用的入门教程
2015/04/13 Python
Python中数字以及算数运算符的相关使用
2015/10/12 Python
Flask Web开发入门之文件上传(八)
2018/08/17 Python
python树莓派红外反射传感器
2019/01/21 Python
python实现AES加密和解密
2019/03/27 Python
Python匿名函数及应用示例
2019/04/09 Python
Jacobi迭代算法的Python实现详解
2019/06/29 Python
详解在python操作数据库中游标的使用方法
2019/11/12 Python
Python控制台实现交互式环境执行
2020/06/09 Python
全球领先的鞋类零售商:The Walking Company
2016/07/21 全球购物
学生个人的自我评价分享
2013/11/05 职场文书
好家长事迹材料
2014/01/23 职场文书
检查接待方案
2014/02/27 职场文书
房屋授权无偿使用证明
2014/11/29 职场文书
个人专业技术总结
2015/03/05 职场文书
试用期转正工作总结2015
2015/05/28 职场文书
详解Laravel服务容器的优势
2021/05/29 PHP