我想让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);
答案 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。