Mootools ждут с запуском Fx.Morph

Я пытаюсь получить var effect = new Fx.Morph(testMorph, { подождать / задержать 2 секунды перед запуском.
( возиться здесь)

Но когда я пытаюсь .wait(2000) или же .delay(2000), или даже .wait(2000, effect) я получил Uncaught TypeError: Object [object Object] has no method 'delay'

Есть идеи, как заставить это работать?

Код, который я использую:

var testMorph = document.id('testMorph');
var effect = new Fx.Morph(testMorph, {
    transition: 'back:out',
    duration: 900,
    link: 'chain'
}).start({
    'top': 20,
    'opacity': 1
}).start({
    'border-color': '#A80025',
    'color': '#A80025'
});
effect.delay(2000);

1 ответ

Решение

Вы можете использовать комбинацию chain() а также delay() добиться желаемого эффекта.

new Fx.Morph(testMorph, {
    transition: 'back:out',
    duration: 900,
    link: 'chain'
}).start().chain(function(){
    this.start.delay(2000,effect,{
        //first
    });
}).chain(function(){
    this.start({
        //second
    });
});

chain() добавляет еще один эффект в конце текущего. Первый эффект - это просто start() с пустым эффектом, чтобы предоставить контекст нашей цепочке событий.

Затем он привязывается к отложенному событию, используя start.delay() метод (delay() является собственностью Function).

Это, в свою очередь, приковано к вашему другому эффекту.

Смотрите здесь.

Другие вопросы по тегам