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 相关文章推荐
js Date自定义函数 延迟脚本执行
Mar 10 Javascript
jquery 操作DOM的基本用法分享
Apr 05 Javascript
基于jquery实现点击左右按钮图片横向滚动
Apr 11 Javascript
javascript-简单的日历实现及Date对象语法介绍(附图)
May 30 Javascript
jQuery选择id属性带有点符号元素的方法
Mar 17 Javascript
js实现精美的银灰色竖排折叠菜单
May 16 Javascript
简介JavaScript中的getSeconds()方法的使用
Jun 10 Javascript
jquery实现点击变换导航样式的方法
Aug 31 Javascript
老生常谈onBlur事件与onfocus事件(js)
Jul 09 Javascript
JavaScript中 ES6变量的结构赋值
Jul 10 Javascript
axios使用拦截器统一处理所有的http请求的方法
Nov 02 Javascript
在vscode 中设置 vue模板内容的方法
Sep 02 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与php MySQL 之间的关系
2009/07/17 PHP
PHP 处理图片的类实现代码
2009/10/23 PHP
简单谈谈favicon
2015/06/10 PHP
PHP处理数组和XML之间的互相转换
2016/06/02 PHP
laravel5表单唯一验证的实例代码
2019/09/30 PHP
ie8 不支持new Date(2012-11-10)问题的解决方法
2013/07/31 Javascript
js实现遍历含有input的table实例
2015/12/07 Javascript
JavaScript sort数组排序方法和自我实现排序方法小结
2016/06/06 Javascript
Bootstrap页面缩小变形的快速解决办法
2017/02/03 Javascript
node.js实现登录注册页面
2017/04/08 Javascript
vue-awesome-swiper滑块插件使用方法详解
2017/11/27 Javascript
layui获取选中行数据的实例讲解
2018/08/19 Javascript
微信小程序dom操作的替代思路实例分析
2018/12/06 Javascript
vuejs简单验证码功能完整示例
2019/01/08 Javascript
JS+css3实现幻灯片轮播图
2020/08/14 Javascript
win与linux系统中python requests 安装
2016/12/04 Python
python3实现磁盘空间监控
2018/06/21 Python
python爬取微信公众号文章
2018/08/31 Python
python实现文本界面网络聊天室
2018/12/12 Python
Python语法垃圾回收机制原理解析
2020/03/25 Python
Pytorch转onnx、torchscript方式
2020/05/25 Python
在Python3.74+PyCharm2020.1 x64中安装使用Kivy的详细教程
2020/08/07 Python
HTML5的结构和语义(1):前言
2008/10/17 HTML / CSS
Crocs美国官方网站:卡骆驰洞洞鞋
2017/08/04 全球购物
美国第二大连锁药店:Rite Aid
2019/04/03 全球购物
为女性购买传统的印度服装和婚纱:Kalkifashion
2019/07/22 全球购物
生产车间主管岗位职责
2013/12/28 职场文书
环保专业大学生职业规划设计
2014/01/10 职场文书
大学生职业规划范文:象牙塔生活的四年计划
2014/01/14 职场文书
县委常委班子专题民主生活会查摆问题及整改措施
2014/09/27 职场文书
社区青年志愿者活动总结
2015/05/06 职场文书
致运动员赞词
2015/07/22 职场文书
Nginx服务器添加Systemd自定义服务过程解析
2021/03/31 Servers
MybatisPlus代码生成器的使用方法详解
2021/06/13 Java/Android
阿里云日志过滤器配置日志服务
2022/04/09 Servers
Java实现简单小画板
2022/06/10 Java/Android