关闭

jquery实现弹窗效果

标签: jqueryfunctionclassjavascriptstylesheetbutton
4035人阅读 评论(0) 收藏 举报
分类:

window.html

<!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>弹出窗口</title>
<link type="text/css" rel="stylesheet" href="window.css">
<script language="javascript" type="text/javascript" src="../include/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>

window.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();
}

window.css

/* CSS Document */
.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;
 }

 

1
1

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:182698次
    • 积分:2239
    • 等级:
    • 排名:第16836名
    • 原创:84篇
    • 转载:0篇
    • 译文:1篇
    • 评论:24条
    文章分类
    最新评论