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 相关文章推荐
基于jQuery的为attr添加id title等效果的实现代码
Apr 20 Javascript
js Dialog 实践分享
Oct 22 Javascript
js switch case default 的用法示例介绍
Oct 23 Javascript
jQuery中click事件的定义和用法
Dec 20 Javascript
JavaScript电子时钟倒计时第二款
Jan 10 Javascript
微信小程序进行微信支付的步骤昂述
Dec 01 Javascript
jquery.cookie.js的介绍与使用方法
Feb 09 Javascript
Zepto实现密码的隐藏/显示
Apr 07 Javascript
JavaScript设计模式之代理模式详解
Jun 09 Javascript
Javascript ES6中对象类型Sets的介绍与使用详解
Jul 17 Javascript
node.js到底要不要加分号浅析
Jul 11 Javascript
Vue CLI3中使用compass normalize的方法
May 30 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设计模式 Chain Of Responsibility (职责链模式)
2011/06/26 PHP
PHP框架Laravel的小技巧两则
2015/02/10 PHP
PHP+AJAX 投票器功能
2017/11/11 PHP
PHP7创建销毁session的实例方法
2020/02/03 PHP
javascript 二进制运算技巧解析
2012/11/27 Javascript
初始Nodejs
2014/11/08 NodeJs
jQuery实现瀑布流的取巧做法分享
2015/01/12 Javascript
jQuery+ajax实现文章点赞功能的方法
2015/12/31 Javascript
jQuery插件AjaxFileUpload实现ajax文件上传
2016/05/05 Javascript
EasyUI学习之Combobox级联下拉列表(2)
2016/12/29 Javascript
webpack配置文件和常用配置项介绍
2017/04/28 Javascript
解决vue里碰到 $refs 的问题的方法
2017/07/13 Javascript
vue-router 导航钩子的具体使用方法
2017/08/31 Javascript
微信小程序自定义组件实现环形进度条
2020/11/17 Javascript
layui lay-verify form表单自定义验证规则详解
2019/09/18 Javascript
VUE:vuex 用户登录信息的数据写入与获取方式
2019/11/11 Javascript
js实现翻牌小游戏
2020/07/31 Javascript
[46:23]完美世界DOTA2联赛PWL S2 FTD vs Magma 第一场 11.20
2020/11/23 DOTA
python实现DNS正向查询、反向查询的例子
2014/04/25 Python
Python实现类继承实例
2014/07/04 Python
Python中使用copy模块实现列表(list)拷贝
2015/04/14 Python
Python按行读取文件的简单实现方法
2016/06/22 Python
python爬虫框架talonspider简单介绍
2017/06/09 Python
python单线程下实现多个socket并发过程详解
2019/07/27 Python
解决python3 requests headers参数不能有中文的问题
2019/08/21 Python
Python 可变类型和不可变类型及引用过程解析
2019/09/27 Python
双向RNN:bidirectional_dynamic_rnn()函数的使用详解
2020/01/20 Python
python Matplotlib数据可视化(2):详解三大容器对象与常用设置
2020/09/30 Python
购买英国原创艺术:Art Gallery
2018/08/25 全球购物
业务主管岗位职责范本
2013/12/25 职场文书
便利店的创业计划书
2014/01/15 职场文书
2014年机关作风建设工作总结
2014/10/23 职场文书
女性健康知识讲座通知
2015/04/23 职场文书
酒店温馨提示语
2015/07/14 职场文书
七年级之家长会发言稿范文
2019/09/04 职场文书
《天净沙·秋思》教学反思三篇
2019/11/02 职场文书