[原创+源码]jQuery实现弹出居、右下角、左下角窗口效果(二)

[原创+源码]jQuery实现弹出居、右下角、左下角窗口效果(二)
     接上文,[原创+源码]jQuery实现弹出居、右下角、左下角窗口效果(一)我们先来看看怎么实现弹出居中窗口,弹出居中窗口主要是要获取几个参数,分别为浏览器的高度、宽度
     当前窗口的高度、宽度,滚动条滚动的高度和宽度等,然后再定位这个层。
     代码如下: 

Code:
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">   
  2. <html xmlns="http://www.w3.org/1999/xhtml">   
  3. <head>   
  4. <link href="window.css" type="text/css" rel="stylesheet" />   
  5. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />   
  6. <script language="javascript" type="text/javascript" src="../include/jquery-1.5.1.min.js"></script>   
  7.   
  8. <script type="text/javascript">   
  9.   $(function(){   
  10.          
  11.       //监听按钮事件   
  12.       $("#btn1").click(function(){   
  13.          //执行窗口移动效果   
  14.          MoveWindow();   
  15.            
  16.       });    
  17.       //添加关闭图片的单击事件   
  18.       $(".title img").click(function(){   
  19.        //隐藏窗口   
  20.        $(this).parent().parent().hide('slow');   
  21.              
  22.       });   
  23.          
  24.          
  25.          
  26. });   
  27. function MoveWindow(){   
  28.        
  29.      //获取浏览器的宽度   
  30.         var bwidth=$(window).width();   
  31.       //获取浏览器的高度   
  32.         var bheight=$(window).height();   
  33.       //获取当前窗口宽度   
  34.         var winwidth=$("#center").width();   
  35.       //获取当前窗口高度   
  36.         var winheight=$("#center").height();   
  37.            
  38.       //获取滚动条的高度   
  39.         var sTop=$(window).scrollTop();   
  40.       //获取滚动条的宽度   
  41.         var sLeft=$(window).scrollLeft();   
  42.            
  43.       //计算窗口距左的距离   
  44.         var left=sLeft+(bwidth-winwidth)/2;   
  45.       //计算窗口距上的距离   
  46.         var top=sTop+(bheight-winheight)/2;   
  47.       //设置层的位置             
  48.         $("#center").css("left",left).css("top",top).show("slow");   
  49.        
  50. }   
  51. </script>   
  52.   
  53. <title>无标题文档</title>   
  54. </head>   
  55.   
  56. <body>   
  57.   
  58. <br><br><br><br><br><br><br><br><br><br>   
  59. <br><br><br><br><br><br><br><br><br><br>   
  60. <br><br><br><br><br><br><br><br><br><br>   
  61. <br><br><br><br><br><br><br><br><br><br>   
  62. <br><br><br><br><br><br><br><br><br><br>   
  63. <input type="button" id="btn1" value="打开居中窗口" />   
  64. <div class="window" id="center">   
  65.   
  66.   <div class="title">   
  67. <img src="../images/close.jpg" />这里标题文字   
  68.   </div>   
  69.   <div class="content">   
  70.    CSDN中文it社区<br>   
  71.    CSDN学生大本营 李伟<br>   
  72.    3G开发者联盟<br>   
  73.    3gput.com   
  74.   </div>   
  75.   
  76. </div>   
  77.   
  78. </body>   
  79. </html>   

   弹出左下角窗口和弹出居中窗口类似,也是计算下坐标
 

Code:
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">   
  2. <html xmlns="http://www.w3.org/1999/xhtml">   
  3. <head>   
  4. <link href="window.css" type="text/css" rel="stylesheet" />   
  5. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />   
  6. <script language="javascript" type="text/javascript" src="../include/jquery-1.5.1.min.js"></script>   
  7.   
  8. <script type="text/javascript">   
  9.   $(function(){   
  10.          
  11.       //监听按钮事件   
  12.       $("#btn1").click(function(){   
  13.              
  14.       //获取浏览器的宽度   
  15.         var bwidth=$(window).width();   
  16.       //获取浏览器的高度   
  17.         var bheight=$(window).height();   
  18.       //获取当前窗口宽度   
  19.         var winwidth=$("#center").outerWidth(true);   
  20.       //获取当前窗口高度   
  21.         var winheight=$("#center").outerHeight(true);   
  22.            
  23.       //获取滚动条的高度   
  24.         var sTop=$(window).scrollTop();   
  25.       //获取滚动条的宽度   
  26.         var sLeft=$(window).scrollLeft();   
  27.            
  28.       //计算窗口距左的距离   
  29.         var left=0;   
  30.       //计算窗口距上的距离   
  31.         var top=sTop+bheight-winheight;   
  32.       //设置层的位置             
  33.         $("#center").css("left",left).css("top",top).show("slow");   
  34.            
  35.       });    
  36.       //添加关闭图片的单击事件   
  37.       $(".title img").click(function(){   
  38.        //隐藏窗口   
  39.        $(this).parent().parent().hide('slow');   
  40.              
  41.       });   
  42.          
  43.          
  44. });   
  45.   
  46. </script>   
  47.   
  48. <title>无标题文档</title>   
  49. </head>   
  50.   
  51. <body>   
  52.   
  53. <br><br><br><br><br><br><br><br><br><br>   
  54. <br><br><br><br><br><br><br><br><br><br>   
  55. <br><br><br><br><br><br><br><br><br><br>   
  56. <br><br><br><br><br><br><br><br><br><br>   
  57. <br><br><br><br><br><br><br><br><br><br>   
  58. <input type="button" id="btn1" value="打开左下角窗口" />   
  59. <div class="window" id="center">   
  60.   
  61.   <div class="title">   
  62. <img src="../images/close.jpg" />这里标题文字   
  63.   </div>   
  64.   <div class="content">   
  65.    CSDN中文it社区<br>   
  66.    CSDN学生大本营 李伟<br>   
  67.    3G开发者联盟<br>   
  68.    3gput.com   
  69.   </div>   
  70.   
  71. </div>   
  72.   
  73. </body>   
  74. </html>   

 弹出右下角窗口:弹出右下角窗口我做了很多处理,比如滚动条事件的监听,当滚动条位置移动的时候则移动窗口的位置,同时设置了动画效果,使得窗口的移动显得更加的平滑,代码如下:
 

Code:
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">   
  2. <html xmlns="http://www.w3.org/1999/xhtml">   
  3. <head>   
  4. <link href="window.css" type="text/css" rel="stylesheet" />   
  5. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />   
  6. <script language="javascript" type="text/javascript" src="../include/jquery-1.5.1.min.js"></script>   
  7.   
  8. <script type="text/javascript">   
  9.   $(function(){   
  10.          
  11.       //监听按钮事件   
  12.       $("#btn1").click(function(){   
  13.               
  14.            MoveWindow();   
  15.            
  16.       });    
  17.       //添加关闭图片的单击事件   
  18.       $(".title img").click(function(){   
  19.        //隐藏窗口   
  20.        $(this).parent().parent().hide('slow');   
  21.              
  22.       });   
  23.          
  24.       //监听滚动条的滚动事件   
  25.       $(window).scroll(function(){   
  26.              
  27.           MoveWindow();   
  28.              
  29.          });   
  30.          
  31.          
  32. });   
  33. var timeoutid;   
  34. function MoveWindow(){   
  35.       clearTimeout(timeoutid);   
  36.       timeoutid=setTimeout(function(){   
  37.       //获取浏览器的宽度   
  38.         var bwidth=$(window).width();   
  39.       //获取浏览器的高度   
  40.         var bheight=$(window).height();   
  41.       //获取当前窗口宽度   
  42.         var winwidth=$("#center").outerWidth(true);   
  43.       //获取当前窗口高度   
  44.         var winheight=$("#center").outerHeight(true);   
  45.            
  46.       //获取滚动条的高度   
  47.         var sTop=$(window).scrollTop();   
  48.       //获取滚动条的宽度   
  49.         var sLeft=$(window).scrollLeft();   
  50.            
  51.       //计算窗口距左的距离   
  52.         var left1=sLeft+bwidth-winwidth;   
  53.       //计算窗口距上的距离   
  54.         var top1=sTop+bheight-winheight;   
  55.       //设置层的位置,添加动画效果          
  56.       $("#center").animate({left:left1,top:top1},300).show("slow");   
  57.            
  58.            
  59.       },300);   
  60.  }   
  61.   
  62. </script>   
  63.   
  64. <title>无标题文档</title>   
  65. </head>   
  66.   
  67. <body>   
  68.   
  69. <br><br><br><br><br><br><br><br><br><br>   
  70. <br><br><br><br><br><br><br><br><br><br>   
  71. <br><br><br><br><br><br><br><br><br><br>   
  72. <br><br><br><br><br><br><br><br><br><br>   
  73. <br><br><br><br><br><br><br><br><br><br>   
  74. <input type="button" id="btn1" value="打开右下角窗口" />   
  75. <div class="window" id="center">   
  76.   
  77.   <div class="title">   
  78. <img src="../images/close.jpg" />CSDN欢迎您   
  79.   </div>   
  80.   <div class="content">   
  81.   这里是正文部分 hell CSDN   
  82.   </div>   
  83.   
  84. </div>   
  85.   
  86. </body>   
  87. </html>   

 以上效果在搜狗、IE、火狐测试下均没有问题,粗略之处还请大家多多沟通交流。

   下载地址: 20110401jQuery.rar (20.47 KB, 下载次数: 123)

   [原创地址]    [源码下载]    [更多原创,多多支持多]

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值