MooTools Effect Chaining - PullRequest
       10

MooTools Effect Chaining

2 голосов
/ 07 декабря 2010

Я хотел бы иметь возможность сделать что-то вроде этого:

var fx = new Fx.Tween($('element'), {
    duration: 500,
    property: 'opacity',
    transition: Fx.Transitions.Quart.easeOut,
    link: 'chain'
});

fx.start(0, 1)
.chain(function() {
    alert('foo');
})
.start(1, 0)
.chain(function() {
    alert('bar');
});

, который затем исчезает в #element, а затем запускает функцию.Однако я не могу заставить его запустить второй запуск после первой цепочки (), что означает, что #element не исчезает снова.

Спасибо за вашу помощь

1 Ответ

4 голосов
/ 11 декабря 2010

Оказывается, что-то очень похожее на приведенный выше код может работать, за исключением того, что вам нужно использовать callChain () для срабатывания следующей "ссылки" .. Вот что я сейчас использую:

var effect = new Fx.Tween($('element'));
effect.start('opacity', 1)
.chain(function() { /* Do stuff */ this.callChain();)
.chain(function() { /* Do stuff */ this.callChain();)
.chain(function() { /* Do stuff */ this.callChain();)
.chain(function() { /* Do stuff */ this.callChain();)
.chain(function() { /* Do stuff */);

И т. Д.

Это потому, что цепочка возвращает и экземпляр класса Chain, а не экземпляр Fx.Tween.Я немного раздражен тем, что мне нужно использовать callChain (), но это лучше, чем иметь множество вложенных функций.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...