jQuery位置插件

插件代码:
  1. /*任意位置浮动固定层*/
  2. /*没剑(http://regedit.cnblogs.com) 08-03-11*/
  3. /*说明:可以让指定的层浮动到网页上的任何位置,当滚动条滚动时它会保持在当前位置不变,不会产生闪动*/
  4. /*2008-4-1修改:当自定义right位置时无效,这里加上一个判断
  5. 有值时就不设置,无值时要加18px已修正层位置在ie6下的问题
  6. */
  7. /*调用:
  8. 1 无参数调用:默认浮动在右下角
  9. $("#id").floatdiv();
  10. 2 内置固定位置浮动
  11. //右下角
  12. $("#id").floatdiv("rightbottom");
  13. //左下角
  14. $("#id").floatdiv("leftbottom");
  15. //右下角
  16. $("#id").floatdiv("rightbottom");
  17. //左上角
  18. $("#id").floatdiv("lefttop");
  19. //右上角
  20. $("#id").floatdiv("righttop");
  21. //居中
  22. $("#id").floatdiv("middle");
  23. 3 自定义位置浮动
  24. $("#id").floatdiv({left:"10px",top:"10px"});
  25. 以上参数,设置浮动层在left 10个像素,top 10个像素的位置
  26. */
  27. jQuery.fn.floatdiv=function(location){
  28.     //ie6要隐藏纵向滚动条
  29.     var isIE6=false;
  30.     if($.browser.msie && $.browser.version=="6.0"){
  31.         $("html").css("overflow-x","auto").css("overflow-y","hidden");
  32.         isIE6=true;
  33.     };
  34.     $("body").css({margin:"0px",padding:"0 10px 0 10px",
  35.         border:"0px",
  36.         height:"100%",
  37.         overflow:"auto"
  38.     });
  39.     return this.each(function(){
  40.         var loc;//层的绝对定位位置
  41.         if(location==undefined || location.constructor == String){
  42.             switch(location){
  43.                 case("rightbottom")://右下角
  44.                     loc={right:"0px",bottom:"0px"};
  45.                     break;
  46.                 case("leftbottom")://左下角
  47.                     loc={left:"0px",bottom:"0px"};
  48.                     break;  
  49.                 case("lefttop")://左上角
  50.                     loc={left:"0px",top:"0px"};
  51.                     break;
  52.                 case("righttop")://右上角
  53.                     loc={right:"0px",top:"0px"};
  54.                     break;
  55.                 case("middle")://居中
  56.                     var l=0;//居左
  57.                     var t=0;//居上
  58.                     var windowWidth,windowHeight;//窗口的高和宽
  59.                     //取得窗口的高和宽
  60.                     if (self.innerHeight) {
  61.                         windowWidth=self.innerWidth;
  62.                         windowHeight=self.innerHeight;
  63.                     }else if (document.documentElement&&document.documentElement.clientHeight) {
  64.                         windowWidth=document.documentElement.clientWidth;
  65.                         windowHeight=document.documentElement.clientHeight;
  66.                     } else if (document.body) {
  67.                         windowWidth=document.body.clientWidth;
  68.                         windowHeight=document.body.clientHeight;
  69.                     }
  70.                     l=windowWidth/2-$(this).width()/2;
  71.                     t=windowHeight/2-$(this).height()/2;
  72.                     loc={left:l+"px",top:t+"px"};
  73.                     break;
  74.                 default://默认为右下角
  75.                     loc={right:"0px",bottom:"0px"};
  76.                     break;
  77.             }
  78.         }else{
  79.             loc=location;
  80.         }
  81.         $(this).css("z-index","9999").css(loc).css("position","fixed");
  82.         if(isIE6){
  83.             if(loc.right!=undefined){
  84.                 //2008-4-1修改:当自定义right位置时无效,这里加上一个判断
  85.                 //有值时就不设置,无值时要加18px已修正层位置
  86.                 if($(this).css("right")==null || $(this).css("right")==""){
  87.                     $(this).css("right","18px");
  88.                 }
  89.             }
  90.             $(this).css("position","absolute");
  91.         }
  92.     });
  93. };
使用方法:
  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.     <title>任意位置浮动窗口插件</title>
  5.     <script type="text/javascript" src="../js/jquery-1.2.6.js"></script>
  6.     <script type="text/javascript" src="../js/jquery.floatDiv.js"></script>
  7.     <script type="text/javascript">
  8.         $(function(){
  9.             $("#test").floatdiv({top:"200px",right:"200px"});
  10.             $("#rtop").floatdiv("righttop");
  11.             $("#floatAd").floatdiv({top:"50px",left:"50px"});
  12.         });
  13.     </script>
  14. </head>
  15. <body>
  16. <div id="rtop" style="background-color: #666633; width: 300px; height: 100px;padding:2px;color:white;">右上角</div>
  17. <div id="floatAd" style="background-color: #667733; width: 300px; height: 100px;padding:2px;color:white;">左下角</div>
  18. <div id="test" style="background-color: #665533; width: 300px; height: 100px;padding:2px;color:white;">
  19.     <p>
  20.         /*任意位置浮动固定层*/<br />
  21.         /*说明:可以让指定的层浮动到网页上的任何位置,当滚动条滚动时它会保持在当前位置不变,不会产生闪动*/<br />
  22.         /*调用:<br />
  23.         1 无参数调用:默认浮动在右下角<br />
  24.         $("#id").floatdiv();</p>
  25.     <p>
  26.         2 内置固定位置浮动<br />
  27.         //右下角<br />
  28.         $("#id").floatdiv("rightbottom");<br />
  29.         //左下角<br />
  30.         $("#id").floatdiv("leftbottom");<br />
  31.         //右下角<br />
  32.         $("#id").floatdiv("rightbottom");<br />
  33.         //左上角<br />
  34.         $("#id").floatdiv("lefttop");<br />
  35.         //右上角<br />
  36.         $("#id").floatdiv("righttop");<br />
  37.         //居中<br />
  38.         $("#id").floatdiv("middle");</p>
  39.     <p>
  40.         3 自定义位置浮动<br />
  41.         $("#id").floatdiv({left:"10px",top:"10px"});<br />
  42.         以上参数,设置浮动层在left 10个像素,top 10个像素的位置<br />
  43.         */</p>
  44. </div>
  45. <div>hello<br />
  46.     <br />
  47.     <br />
  48.     <br />
  49.     <br />
  50.     <br />
  51.     <br />
  52.     <br />
  53.     <br />
  54.     <br />
  55.     <br />
  56.     <br />
  57.     <br />
  58.     <br />
  59.     <br />
  60.     <br />
  61.     <br />
  62.     <br />
  63.     <br />
  64.     <br />
  65.     <br />
  66.     <br />
  67.     <br />
  68.     <br />
  69.     <br />
  70.     <br />
  71.     <br />
  72.     <br />
  73.     <br />
  74.     <br />
  75.     <br />
  76.     <br />
  77.     <br />
  78.     <br />
  79.     hello
  80. </div>
  81. </body>
  82. </html>
end
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值