mootools创建了一个dialog widget
1. var Dialog = new Class({
2. Implements: Events,
3. initialize: function() {
4. },
5. show: function() {
6. // ....
7. this.fireEvent('show', this);
8. }
9. });
10.
11. var dialog = new Dialog();
12. dialog.addEvent('show', function() {
13. // ....
14. });
-----------------------------------------------------------------------------------
方法一:
if (!window.testClass)
{
testClass =
{
data:null, //类的属性
init: function() //类的方法
{
this.data=456;
alert("init")
}, // 注意逗号
show: function() //类的方法
{
alert("show:"+this.data)
}
}
}
调用方法:
testClass是类名
testClass.init();
testClass.show();
方法二:
//////////////////////////////////////////////////////////////////////
//取得 指定元素的 子元素(特定) //
//子元素可以指定 name //
//子元素可以指定 tagName //
//返回集合 (指定name或tagName的子元素集合) //
//////////////////////////////////////////////////////////////////////
function Child_class(){
this.list_elment=new Array();
//取得指定元素的所有子元素中元素名为name的元素集合 (有name取name,无name取id )
this.getChildsByName=function(element,name){
var state="name";
return this.getChilds(element,name,state);
};
//取得指定元素的所有子元素中tagName为name的元素集合
this.getChildsByTagName=function(element,name){
var state="tagName";
return this.getChilds(element,name,state);
};
//state为"name",取得 指定元素的 name为name子元素
//state为"tagName",取得 指定元素的 tagName为name子元素
this.getChilds=function(element,name,state){
this.find(element,name,state);
return this.list_elment; //返回集合
};
//通用方法
this.find=function (element,name,state){
if(null==element){return ;}
var nodes=element.childNodes; //所有子元素
for(var i=0;i<nodes.length;i++){
if(nodes[i].nodeType==1){ //节点类型为1
var name_id="";
if(state=="name"){
name_id=nodes[i].name==null?nodes[i].id:nodes[i].name; //有name取name,无name取id
}else if (state=="tagName"){
name_id=nodes[i].tagName;
}else{
alert("请传参数,指定按name或tagName搜索元素!");return ;
}
if(name_id==name){
this.list_elment.push(nodes[i]); //加入集合
}
var bl=nodes[i].hasChildNodes(); //有无下一层子元素
if(bl){
this.find(nodes[i],name,state); //递归
}
}
}
};
}
//调用方法如下:
//var c=new Child_class();
//var oForm=document.getElementById('oForm');
//var rs=c.getChildsByName(oForm,"m");
//alert(rs.toString());
1048

被折叠的 条评论
为什么被折叠?



