Клас-утіліта, який виконує функції одна за одною, з запуском кожної функції після завершення попередньої. Його методи можна реалізувати за допомогою Class:implement у будь-який Class, і зараз він реалізований у Fx та Request. У Fx, наприклад, він використовується для створення користувацьких, складних анімацій.
var MyClass = new Class({ Implements: Chain });
MyClass.implement(Chain);
var myChain = new Chain;
var Todo = new Class({ Implements: Chain, initialize: function(){ this.chain.apply(this, arguments); } }); var myTodoList = new Todo( function(){ alert('get groceries'); }, function(){ alert('go workout'); }, function(){ alert('code mootools documentation until eyes close involuntarily'); }, function(){ alert('sleep'); } );
Додає функції в кінець стеку викликів екземпляра Chain.
myClass.chain(fn[, fn2[, fn3[, ...]]]);
//Fx.Tween has already implemented the Chain class because of inheritance of the Fx class. var myFx = new Fx.Tween('myElement', 'opacity'); myFx.start(1,0).chain( //Notice that "this" refers to the calling object (in this case, the myFx object). function(){ this.start(0,1); }, function(){ this.start(1,0); }, function(){ this.start(0,1); } ); //Will fade the Element out and in twice.
Видаляє першу функцію стеку екземпляра Chain і виконує її. Наступна функція стає першою в масиві.
myClass.callChain([any arguments]);
var myChain = new Chain(); myChain.chain( function(){ alert('do dishes'); }, function(){ alert('put away clean dishes'); } ); myChain.callChain(); //Will alert 'do dishes'. myChain.callChain(); //Will alert 'put away clean dishes'.
Очищує стек екземпляра Chain.
myClass.clearChain();
var myFx = Fx.Tween('myElement', 'color'); //Fx.Tween inherited Fx's implementation of Chain. myFx.chain(function(){ while(true) alert("D'oh!"); }); //Chains an infinite loop of alerts. myFx.clearChain(); //Cancels the infinite loop of alerts before allowing it to begin.
Клас-утіліта. Його методи можна реалізувати за допомогою Class:implement у будь-який Class. У Fx, наприклад, цей клас використовується для додавання будь-якої кількості функцій до подій Fx, таких як 'complete', 'start' та 'cancel'. Події в класі, що реалізує Events, мають додаватися або як опція, або за допомогою addEvent, а не безпосередньо через .options.onEventName.
var MyClass = new Class({ Implements: Events });
MyClass.implement(Events);
var Widget = new Class({ Implements: Events, initialize: function(element){ // ... }, complete: function(){ this.fireEvent('complete'); } }); var myWidget = new Widget(); myWidget.addEvent('complete', myFunction);
Додає подію до стеку подій екземпляра класу.
myClass.addEvent(type, fn[, internal]);
var myFx = new Fx.Tween('element', 'opacity'); myFx.addEvent('start', myStartFunction);
Те саме, що й addEvent, але приймає об'єкт для додавання кількох подій одночасно.
myClass.addEvents(events);
var myFx = new Fx.Tween('element', 'opacity'); myFx.addEvents({ 'start': myStartFunction, 'complete': function() { alert('Done.'); } });
Викликає всі події вказаного типу в екземплярі класу.
myClass.fireEvent(type[, args[, delay]]);
var Widget = new Class({ Implements: Events, initialize: function(arg1, arg2){ //... this.fireEvent("initialize", [arg1, arg2], 50); } });
Видаляє подію зі стеку подій екземпляра класу.
myClass.removeEvent(type, fn);
Видаляє всі події заданого типу зі стеку подій екземпляра класу. Якщо тип не вказано, видаляє всі події всіх типів.
myClass.removeEvents([events]);
var myFx = new Fx.Tween('myElement', 'opacity'); myFx.removeEvents('complete');
Клас-утіліта. Його методи можна реалізувати за допомогою Class:implement у будь-який Class. Використовується для автоматизації налаштування опцій екземпляра класу. Також додає Class Events, коли властивість опції починається з 'on' і за нею слідує велика літера (наприклад, 'onComplete' додає подію 'complete').
var MyClass = new Class({Implements: Options});
MyClass.implement(Options);
Об'єднує опції за замовчуванням класу з переданими опціями.
myClass.setOptions([options]);
var Widget = new Class({ Implements: Options, options: { color: '#fff', size: { width: 100, height: 100 } }, initialize: function(options){ this.setOptions(options); } }); var myWidget = new Widget({ color: '#f00', size: { width: 200 } }); //myWidget.options is now: {color: #f00, size: {width: 200, height: 100}}
| © Linux.ria.com, 2008-2026 |