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 相关文章推荐
列表内容的选择
Jun 30 Javascript
js宝典学习笔记(上)
Jan 10 Javascript
javascript instanceof 与typeof使用说明
Jan 11 Javascript
JS字符串截取函数实例
Dec 27 Javascript
jQuery实现企业网站横幅焦点图切换功能实例
Apr 30 Javascript
javascript中window.open在原来的窗口中打开新的窗口(不同名)
Nov 15 Javascript
JavaScript获取URL中参数querystring的方法详解
Oct 11 Javascript
jQuery源码解读之extend()与工具方法、实例方法详解
Mar 30 jQuery
JS实现移动端判断上拉和下滑功能
Aug 07 Javascript
Openlayers实现扩散的动态点(水纹效果)
Aug 17 Javascript
vue项目中使用rem,在入口文件添加内容操作
Nov 11 Javascript
在vue中使用image-webpack-loader实例
Nov 12 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中eval函数的危害与正确禁用方法
2014/06/30 PHP
codeigniter显示所有脚本执行时间的方法
2015/03/21 PHP
PHP设计模式之适配器模式代码实例
2015/05/11 PHP
ThinkPHP自定义函数解决模板标签加减运算的方法
2015/07/03 PHP
Laravel中使用FormRequest进行表单验证方法及问题汇总
2016/06/19 PHP
浅谈PHP5.6 与 PHP7.0 区别
2019/10/09 PHP
javascript 函数调用规则
2009/08/26 Javascript
jQuery调用WebService的实现代码
2011/06/19 Javascript
JavaScript设置获取和设置属性的方法
2015/03/04 Javascript
jquery实现鼠标滑过显示二级下拉菜单效果
2015/08/24 Javascript
js实现简洁大方的二级下拉菜单效果代码
2015/09/01 Javascript
vue.js2.0点击获取自己的属性和jquery方法
2018/02/23 jQuery
JS编写兼容IE6,7,8浏览器无缝自动轮播
2018/10/12 Javascript
node 文件上传接口的转发的实现
2019/09/23 Javascript
Node.js操作MongoDB数据库实例分析
2020/01/19 Javascript
JSON获取属性值方法代码实例
2020/06/30 Javascript
Python批量创建迅雷任务及创建多个文件
2016/02/13 Python
如何在python中使用selenium的示例
2017/12/26 Python
用python代码将tiff图片存储到jpg的方法
2018/12/04 Python
解决python测试opencv时imread导致的错误问题
2019/01/26 Python
使用python socket分发大文件的实现方法
2019/07/08 Python
Transpose 数组行列转置的限制方式
2020/02/11 Python
python 一维二维插值实例
2020/04/22 Python
Python如何使用正则表达式爬取京东商品信息
2020/06/01 Python
Python创建文件夹与文件的快捷方法
2020/12/08 Python
python中doctest库实例用法
2020/12/31 Python
html5配合css3实现带提示文字的输入框(摆脱js)
2013/03/08 HTML / CSS
纽约服装和生活方式品牌:Saturdays NYC
2017/08/13 全球购物
自荐书范文
2013/12/08 职场文书
七年级英语教学反思
2014/01/15 职场文书
期末自我鉴定
2014/02/02 职场文书
挂牌仪式主持词
2014/03/20 职场文书
2014市府办领导班子“四风问题”对照检查材料思想汇报
2014/09/24 职场文书
个人政风行风自查自纠报告
2014/10/21 职场文书
2015年中学团委工作总结
2015/07/22 职场文书
《揠苗助长》教学反思
2016/02/20 职场文书