jQuery插件练习

 简化后的插件:

SimplePlugin.htm:

  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/ecmascript" src="../js/jquery-1.2.6.js"></script>
  6.     <script type="text/ecmascript" src="../js/jquery.SimplePlugin.js"></script>
  7.     <script type="text/ecmascript">
  8.         $(function() {     
  9.           $("input").click(function(){
  10.                $("body").dialog();
  11.           }) 
  12.         });
  13.         function f(){
  14.             $("body").find("#MaskID").hide(1000);
  15.             $("body").find("#DivDialog").hide(1000);
  16.         }
  17.     </script>
  18. </head>
  19. <body>
  20. <input type="button" value="hi plugin" />
  21. </body>
  22. </html>

jquery.SimplePlugin.js:

  1. $.fn.dialog=function(){
  2.     this.MaskDiv=function()//自定义一个函数
  3.     {    
  4.         //创建遮罩背景,这里没有设置透明度,为了简单。zIndex决定了遮罩。
  5.         $("body").append("<div ID=MaskID></div>");
  6.         $("body").find("#MaskID").width("888px").height("666px")
  7.             .css({position:"absolute",top:"0px",left:"0px",background:"#ccc",zIndex:"10000"});
  8.     }
  9.     this.MaskDiv();//调用自定义函数。
  10.     $("body").append("<div ID=DivDialog style='display:none'><ul><li>提示</li></ul><input type='button' value='close' οnclick='f();' /></div>");
  11.     var obj=$("body").find("#DivDialog");
  12.     obj.width("200px").height("200px");
  13.     obj.css({position:"absolute",top:"100px",left:"100px",background:"#FFCC66",zIndex:"10001"}).show("slow");
  14.     
  15.     return this;
  16.  }

完整的插件:

myplugin.html:

  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. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5. <title>练习jQuery插件</title>
  6. <script type="text/ecmascript" src="../js/jquery-1.2.6.js"></script>
  7. <script type="text/ecmascript" src="../js/jquery.firstplugin.js"> </script>
  8. <script type="text/ecmascript" src="../js/jquery.dialog.js"></script>
  9. <style type='text/css'>
  10.   *{padding:0; margin:0} /*此行样式一定要加,不然可能会引起BUG出现。*/
  11.   #MyDiv{
  12.         position:absolute;
  13.         width:200px;
  14.         height:200px;
  15.         font-size:12px;
  16.         background:#666;
  17.         border:1px solid #000;
  18.         z-index:10001;
  19.         display:none;
  20.         text-align:center;
  21.   }
  22.  </style>
  23. <script type="text/ecmascript">
  24.     $(document).ready(function() {     
  25.       $("input").click(function(){
  26.            $("body").dialog();
  27.       }) 
  28.     })
  29. </script>
  30. </head>
  31. <body>
  32. <div>
  33.     <input type="button" value="hi plugin" />
  34. </div>
  35. </body>
  36. </html>

jquery.dialog.js:

  1. // JScript 文件
  2. $.fn.dialog=function(){
  3.     this.MaskDiv=function()//自定义一个函数
  4.     {     
  5.         var wnd = $(window), doc = $(document);
  6.         if(wnd.height() > doc.height()){  //当高度少于一屏
  7.             wHeight = wnd.height();  
  8.         }else{//当高度大于一屏
  9.             wHeight = doc.height();   
  10.         }
  11.         //创建遮罩背景
  12.         $("body").append("<div ID=MaskID></div>");
  13.         $("body").find("#MaskID").width(wnd.width()).height(wHeight)
  14.             .css({position:"absolute",top:"0px",left:"0px",background:"#ccc",filter:"Alpha(opacity=90);",opacity:"0.3",zIndex:"10000"});
  15.     }
  16.     this.sPosition=function(obj)//自定义一个带参数的函数
  17.     {
  18.         var MyDiv_w = parseInt(obj.width());
  19.         var MyDiv_h = parseInt(obj.height());
  20.         var width =parseInt($(document).width());
  21.         var height = parseInt($(window).height());
  22.         var left = parseInt($(document).scrollLeft());
  23.         var top = parseInt($(document).scrollTop());
  24.         var Div_topposition = top + (height / 2) - (MyDiv_h / 2); //计算上边距
  25.         var Div_leftposition = left + (width / 2) - (MyDiv_w / 2); //计算左边距
  26.         return Array(Div_topposition,Div_leftposition);
  27.     }
  28.     this.MaskDiv();
  29.     $("body").append("<div ID=DivDialog style='display:none'><ul><li>提示</li></ul></div>");
  30.     var obj=$("body").find("#DivDialog");
  31.     obj.width("200px").height("200px");
  32.     PosT=this.sPosition(obj);
  33.     obj.css({position:"absolute",top:PosT[0]+"px",left:PosT[1]+"px",background:"#FFCC66",zIndex:"10001"}).show("slow");
  34.     return this;
  35.  }
end
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值