包含一些最常用的通用类的实现。Mootools自身的 Ajax, XHR and Fx.Base 等类都实现了本章中的一些类.
MIT-style license.
Class. Extras.js | 包含一些最常用的通用类的实现。 |
Chain | 一个工具类 |
属性 | |
chain | 向Chain对象实例的方法堆栈中增加一个新的方法 |
callChain | 执行方法堆栈中的第一个方法,然后删除掉这个方法 |
clearChain | 清空方法堆栈 |
Events | 一个工具类 |
属性 | |
addEvent | 向Events对象的事件堆栈中增加一个新的事件 |
fireEvent |
触发指定事件堆栈中的所有事件 |
removeEvent | 删除事件堆栈中的一个事件 |
Options | 一个工具类 |
属性 | |
setOptions | 设置Options对象的this.options属性 |
一个工具类 。可以使用Class.implement方法来实现到任何其他Class中。
当前在Mootools中已经实现该类的Class是: Fx.Base, XHR 和 Ajax。
例如在 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 | 清空方法堆栈 |
向Chain对象实例的方法堆栈中增加一个新的方法
fn | 要增加的function |
执行方法堆栈中的第一个方法,然后删除掉这个方法. 原来的第二个方法在堆栈中将提升为新的第一个方法。
清空方法堆栈
一个工具类 。可以使用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'
该类可以被实现到其他其他任何类中,为这些类增加该类所提供的事件处理方法。配合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 | 删除事件堆栈中的一个事件 |
向Events对象的事件堆栈中增加一个新的事件
type | 事件名(如: ‘onComplete’) |
fn | f事件处理函数 |
触发指定事件堆栈中的所有事件
type | 事件名(如: ‘onComplete’) |
args | 数组或对象。是作为事件处理函数的参数。如果参数大于一个,则使用数组 |
delay | 整数。延迟执行事件处理函数的毫秒数 |
var Widget = new Class({ initialize: function(arg1, arg2){ ... this.fireEvent("onInitialize", [arg1, arg2], 50); } });
Widget.implement(new Events);
删除事件堆栈中的一个事件
type | 事件名(如: ‘onComplete’) |
fn |
要移除的时间处理函数 |
一个工具类 。可以使用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属性 |
Documentation by Aaron Newton & Mootools Developers, generated by NaturalDocs and tidy, and GeSHi
文档中文翻译:zarknight 勘误Email:zarknight@gmail.com asp之家