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为textarea添加maxlength属性并且兼容IE
Apr 25 Javascript
javascript运动详解
Jul 06 Javascript
纯javascript实现分页(两种方法)
Aug 26 Javascript
JS获取月份最后天数、最大天数与某日周数的方法
Dec 08 Javascript
JQuery异步加载PartialView的方法
Jun 07 Javascript
vue2.0+ 从插件开发到npm发布的示例代码
Apr 28 Javascript
手把手教你vue-cli单页到多页应用的方法
May 31 Javascript
微信小程序仿微信运动步数排行(交互)
Jul 13 Javascript
vue构建动态表单的方法示例
Sep 22 Javascript
详解Vue之父子组件传值
Apr 01 Javascript
Vue+Element-U实现分页显示效果
Nov 15 Javascript
JS前端监控采集用户行为的N种姿势
Jul 23 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
Netflix将与CLAMP、乙一以及冲方丁等6名知名制作人合伙展开原创动画计划!
2020/03/06 日漫
php var_export与var_dump 输出的不同
2013/08/09 PHP
php比较相似字符串的方法
2015/06/05 PHP
php无限级分类实现方法分析
2016/10/19 PHP
深入解析PHP中SESSION反序列化机制
2017/03/01 PHP
swoole和websocket简单聊天室开发
2017/11/18 PHP
php中字符串和整数比较的操作方法
2019/06/06 PHP
Sample script that displays all of the users in a given SQL Server DB
2007/06/16 Javascript
javascript闭包入门示例
2014/04/30 Javascript
javascript函数特点实例分析
2015/05/14 Javascript
Javascript中的对象和原型(二)
2016/08/12 Javascript
Javascript中浏览器窗口的基本操作总结
2016/08/18 Javascript
form表单转Json提交的方法(推荐)
2016/09/23 Javascript
jQuery实现移动端Tab选项卡效果
2017/03/15 Javascript
原生js封装自定义滚动条
2017/03/24 Javascript
jQuery实现select下拉框获取当前选中文本、值、索引
2017/05/08 jQuery
angular-tree-component的使用详解
2018/07/30 Javascript
使用node.JS中的url模块解析URL信息
2020/02/06 Javascript
[02:48]DOTA2超级联赛专访海涛:你们的选择没有错
2013/06/07 DOTA
Python使用ntplib库同步校准当地时间的方法
2016/07/02 Python
python实现简单登陆流程的方法
2018/04/22 Python
Python Scrapy框架第一个入门程序示例
2020/02/05 Python
python计算波峰波谷值的方法(极值点)
2020/02/18 Python
Python实现屏幕录制功能的代码
2020/03/02 Python
Python的in,is和id函数代码实例
2020/04/18 Python
Python ini文件常用操作方法解析
2020/04/26 Python
TensorFlow-gpu和opencv安装详细教程
2020/06/30 Python
Vans荷兰官方网站:美国南加州的原创极限运动潮牌
2018/01/23 全球购物
日本即尚网:JSHOPPERS.com(支持中文)
2019/12/03 全球购物
简历自我评价怎么写呢?
2014/01/06 职场文书
教师考核表个人总结
2015/02/12 职场文书
清明节网上祭英烈寄语2015
2015/03/04 职场文书
2015国庆节66周年演讲稿
2015/03/20 职场文书
2016年国庆节宣传标语
2015/11/25 职场文书
2016年小学推普宣传周活动总结
2016/04/06 职场文书
Android 界面一键变灰 深色主题工具类
2022/04/28 Java/Android