topClass. Extras.js

包含一些最常用的通用类的实现。Mootools自身的 Ajax, XHR and Fx.Base 等类都实现了本章中的一些类.

License

MIT-style license.

概要
Class. Extras.js 包含一些最常用的通用类的实现。
Chain 一个工具类
属性
chain 向Chain对象实例的方法堆栈中增加一个新的方法
callChain 执行方法堆栈中的第一个方法,然后删除掉这个方法
clearChain 清空方法堆栈
Events 一个工具类
属性
addEvent 向Events对象的事件堆栈中增加一个新的事件
fireEvent 触发指定事件堆栈中的所有事件
removeEvent 删除事件堆栈中的一个事件
Options 一个工具类
属性
setOptions 设置Options对象的this.options属性

topChain

一个工具类  。可以使用Class.implement方法来实现到任何其他Class中。

当前在Mootools中已经实现该类的Class是: Fx.Base, XHRAjax。 

例如在 Fx.Base 中,实现了界面效果的链式执行,当一个效果执行完毕后,执行定义好的效果链中的下一个效果。  方法链不能同时被执行, 是依次执行。可用来制作更复杂的效果。

示例

var myFx = new Fx.Style('element', 'opacity');
 
myFx.start(1,0).chain(function(){
    myFx.start(0,1);
}).chain(function(){
    myFx.start(1,0);
}).chain(function(){
    myFx.start(0,1);
}); 
//执行效果:element将反复隐现3次
概要
属性
chain 向Chain对象实例的方法堆栈中增加一个新的方法
callChain 执行方法堆栈中的第一个方法,然后删除掉这个方法
clearChain 清空方法堆栈

top属性

topchain

向Chain对象实例的方法堆栈中增加一个新的方法

参数

fn 要增加的function

topcallChain

执行方法堆栈中的第一个方法,然后删除掉这个方法. 原来的第二个方法在堆栈中将提升为新的第一个方法。

topclearChain

清空方法堆栈

topEvents

一个工具类 。可以使用Class.implement方法来实现到任何其他Class中。

例如在Fx.Base 中 ,它被用来赋予一个界面效果在不同阶段的事件,如onComplete, onStart, onCancel。

事件可以通过options的方式或者使用addEvent方法的方式来添加进对象中。

示例

var myFx = new Fx.Style('element','opacity').addEvent('onComplete', function(){ 
alert('the effect is completed');
}).addEvent('onComplete', function(){
alert('I told you the effect is completed');
});

myFx.start(0,1);
//执行效果: 在完成该界面效果后,将顺序alert出
//'the effect is completed' 和 'I told you the effect is completed'

Implementing

该类可以被实现到其他其他任何类中,为这些类增加该类所提供的事件处理方法。配合Options类使用可以获得更好的效果。

示例

var Widget = new Class({
    initialize: function(){
}
, finish: function(){ this.fireEvent('onComplete'); } });
Widget.implement(new Events);
//然后... var myWidget = new Widget(); myWidget.addEvent('onComplete', myfunction);
概要
属性方法
addEvent 向Events对象的事件堆栈中增加一个新的事件
fireEvent 触发指定事件堆栈中的所有事件
removeEvent 删除事件堆栈中的一个事件

属性

topaddEvent

向Events对象的事件堆栈中增加一个新的事件

参数

type 事件名(如: ‘onComplete’)
fn f事件处理函数

topfireEvent

   触发指定事件堆栈中的所有事件

参数

type 事件名(如: ‘onComplete’)
args 数组或对象。是作为事件处理函数的参数。如果参数大于一个,则使用数组
delay 整数。延迟执行事件处理函数的毫秒数

示例

var Widget = new Class({
    initialize: function(arg1, arg2){
	...
	this.fireEvent("onInitialize", [arg1, arg2], 50);
    }
}); 
Widget.implement(new Events);

topremoveEvent

删除事件堆栈中的一个事件

参数

type 事件名(如: ‘onComplete’)
fn 要移除的时间处理函数

topOptions

一个工具类 。可以使用Class.implement方法来实现到任何其他Class中。用来实现方便的对options的设置。

示例

var Widget = new Class({
    options: {
	color: '#fff',
	size: {
	    width: 100
	    height: 100
	}
    },
    initialize: function(options){
	this.setOptions(options);
    }
});
Widget.implement(new Options);

//然后...
var myWidget = new Widget({ color: '#f00', size: { width: 200 } });
//执行结果: myWidget.options 为 {color: #f00, size: {width: 200, height: 100}}
概要
属性
setOptions 设置对象的this.options属性

top属性

topsetOptions

设置对象的this.options属性

参数

defaults 默认的参数集合对象
options 供用户输入的可选项的集合对象,可以为空

备注

如果你的类实现了 Events ,那么所有名字以on开头,然后首字母大写的option(如onReady,onMyEvent...),将变成对象实例的事件。

Documentation by Aaron Newton & Mootools Developers, generated by NaturalDocs and tidy, and GeSHi

文档中文翻译:zarknight 勘误Email:zarknight@gmail.com asp之家