Jquery实现弹窗

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{
  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;
  }
 
 
 .

 
原文地址:https://www.cnblogs.com/tuosang/p/2681750.html