Mootools等待Fx.Morph开始

时间:2013-07-25 09:37:17

标签: javascript mootools mootools-fx

我想让var effect = new Fx.Morph(testMorph, {在开始前等待/延迟2秒 (的 fiddle here

但是当我尝试.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 个答案:

答案 0 :(得分:2)

您可以使用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的属性)。

反过来,这又与你的其他影响有关。

请参阅here