如何把Java Script写成类

mootools创建了一个dialog widget

Js代码   收藏代码
  1.  1. var Dialog = new Class({    
  2.  2.     Implements: Events,    
  3.  3.     initialize: function() {    
  4.  4.     },    
  5.  5.     show: function() {    
  6.  6.         // ....    
  7.  7.         this.fireEvent('show'this);    
  8.  8.     }    
  9.  9. });    
  10. 10.     
  11. 11. var dialog = new Dialog();    
  12. 12. dialog.addEvent('show'function() {    
  13. 13.     // ....    
  14. 14. });    
 

 伦理片 http://www.dotdy.com/

-----------------------------------------------------------------------------------

方法一:

Js代码   收藏代码
  1. if (!window.testClass)     
  2. {     
  3. testClass =      
  4.     {     
  5.      data:null,    //类的属性  
  6.         init: function()    //类的方法  
  7.         {      
  8.             this.data=456;     
  9.             alert("init")     
  10.         },  // 注意逗号     
  11.         show: function()   //类的方法   
  12.         {                
  13.             alert("show:"+this.data)     
  14.         }     
  15.     }     
  16. }  
  17. 调用方法:  
  18. testClass是类名  
  19. testClass.init();  
  20. testClass.show();  

 

 

 

方法二:

 

Js代码   收藏代码
  1. //  
  2. //取得 指定元素的 子元素(特定)                                          //  
  3. //子元素可以指定 name                                                  //  
  4. //子元素可以指定 tagName                                               //  
  5. //返回集合 (指定name或tagName的子元素集合)                               //  
  6. //  
  7.   
  8. function Child_class(){  
  9.     this.list_elment=new Array();  
  10.     //取得指定元素的所有子元素中元素名为name的元素集合 (有name取name,无name取id )  
  11.     this.getChildsByName=function(element,name){  
  12.         var state="name";  
  13.         return this.getChilds(element,name,state);  
  14.     };  
  15.     //取得指定元素的所有子元素中tagName为name的元素集合   
  16.     this.getChildsByTagName=function(element,name){  
  17.         var state="tagName";  
  18.         return this.getChilds(element,name,state);  
  19.     };  
  20.     //state为"name",取得 指定元素的 name为name子元素  
  21.     //state为"tagName",取得 指定元素的 tagName为name子元素  
  22.     this.getChilds=function(element,name,state){  
  23.         this.find(element,name,state);  
  24.         return  this.list_elment;  //返回集合  
  25.     };  
  26.     //通用方法    
  27.     this.find=function (element,name,state){  
  28.         if(null==element){return ;}  
  29.         var nodes=element.childNodes;  //所有子元素  
  30.         for(var i=0;i<nodes.length;i++){  
  31.             if(nodes[i].nodeType==1){ //节点类型为1            
  32.                 var name_id="";  
  33.                 if(state=="name"){  
  34.                     name_id=nodes[i].name==null?nodes[i].id:nodes[i].name;  //有name取name,无name取id   
  35.                 }else  if (state=="tagName"){  
  36.                     name_id=nodes[i].tagName;    
  37.                 }else{  
  38.                     alert("请传参数,指定按name或tagName搜索元素!");return ;  
  39.                 }                 
  40.                 if(name_id==name){  
  41.                     this.list_elment.push(nodes[i]);  //加入集合  
  42.                 }                 
  43.                 var bl=nodes[i].hasChildNodes(); //有无下一层子元素  
  44.                 if(bl){  
  45.                     this.find(nodes[i],name,state);  //递归             
  46.                 }                                 
  47.             }                              
  48.         }  
  49.     };  
  50. }  
  51.   
  52.   
  53. //调用方法如下:  
  54. //var c=new Child_class();  
  55. //var oForm=document.getElementById('oForm');  
  56. //var rs=c.getChildsByName(oForm,"m");  
  57. //alert(rs.toString());  

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值