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 相关文章推荐
XP折叠菜单&amp;仿QQ2006菜单
Dec 16 Javascript
jQuery 源码分析笔记(6) jQuery.data
Jun 08 Javascript
javascript的渐进增强与平稳退化浅谈
Nov 12 Javascript
js动态移动滚动条至底部示例代码
Apr 24 Javascript
javascript删除一个html元素节点的方法
Dec 20 Javascript
jQuery处理XML文件的几种方法
Jun 14 Javascript
简单理解vue中track-by属性
Oct 26 Javascript
轻松理解Javascript变量的相关问题
Jan 20 Javascript
vue.js绑定事件监听器示例【基于v-on事件绑定】
Jul 07 Javascript
详解JavaScript作用域和作用域链
Mar 19 Javascript
小程序分享模块超级详解(推荐)
Apr 10 Javascript
详解Webpack4多页应用打包方案
Jul 16 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
全国FM电台频率大全 - 29 青海省
2020/03/11 无线电
消息持续发送的完整例子
2006/10/09 PHP
解析PHP获取当前网址及域名的实现代码
2013/06/23 PHP
php的ZipArchive类用法实例
2014/10/20 PHP
nginx+thinkphp下解决不支持pathinfo模式
2015/07/01 PHP
php mailer类调用远程SMTP服务器发送邮件实现方法
2016/03/04 PHP
PHP常用函数之base64图片上传功能详解
2019/10/21 PHP
jquery中的过滤操作详细解析
2013/12/02 Javascript
input:checkbox多选框实现单选效果跟radio一样
2014/06/16 Javascript
DOM 高级编程
2015/05/06 Javascript
JavaScript实现模仿桌面窗口的方法
2015/07/18 Javascript
纯javascript模仿微信打飞机小游戏
2015/08/20 Javascript
jquery判断复选框选中状态以及区分attr和prop
2015/12/18 Javascript
快速掌握Node.js中setTimeout和setInterval的使用方法
2016/03/21 Javascript
如何使用Bootstrap 按钮实例详解
2017/03/29 Javascript
Cpage.js给组件绑定事件的实现代码
2017/08/31 Javascript
JavaScript TAB栏切换效果的示例
2020/11/05 Javascript
[57:18]DOTA2上海特级锦标赛主赛事日 - 1 败者组第一轮#3VP VS VG
2016/03/03 DOTA
[01:05:36]VP vs TNC Supermajor小组赛B组 BO3 第二场 6.2
2018/06/03 DOTA
python的urllib模块显示下载进度示例
2014/01/17 Python
tensorflow实现softma识别MNIST
2018/03/12 Python
python矩阵转换为一维数组的实例
2018/06/05 Python
windows下 兼容Python2和Python3的解决方法
2018/12/05 Python
Python3.5 处理文本txt,删除不需要的行方法
2018/12/10 Python
100行Python代码实现每天不同时间段定时给女友发消息
2019/09/27 Python
Python(PyS60)实现简单语音整点报时
2019/11/18 Python
python模块和包的应用BASE_PATH使用解析
2019/12/14 Python
解决tensorflow 释放图,删除变量问题
2020/06/23 Python
Django数据库迁移常见使用方法
2020/11/12 Python
加拿大快时尚零售商:Ardene
2018/02/14 全球购物
八皇后问题,输出了所有情况,不过有些结果只是旋转了90度
2016/08/15 面试题
写好自荐信的要点
2013/11/06 职场文书
初中优秀学生评语
2014/12/29 职场文书
2015年全国爱眼日活动小结
2015/02/27 职场文书
周一问候语大全
2015/11/10 职场文书
SQL SERVER中常用日期函数的具体使用
2021/04/08 SQL Server