MooTools链式函数不会执行

时间:2012-08-24 16:25:54

标签: mootools

我正在使用MooTools,我有以下代码似乎无法执行。我希望它将#bar元素的宽度增加到50px,然后alert()增加“hi!”,然后继续将#bar的宽度增加到200px。无论出于何种原因,它会在“嗨!”之后停止。并且不会继续执行。怎么了?

var myFx = new Fx.Tween($('bar'), {
duration: '500ms',
transition: 'sine:out',
link: 'chain'
});

myFx.start('width', '50').chain(
function() { alert('hi!'); },
function() { myFx.start('width', '200'); }
);

Fiddle

1 个答案:

答案 0 :(得分:7)

那是因为你的第二个函数没有调用myFx类的方法 - 这意味着它不会推进链。

链是一个混合到Fx类中。如果你做动画,它会自动尝试callChain。因为你什么都不做,所以在警报下面添加:

this.callChain();

这样可以正常工作。也许文档需要改变,因为它现在不明显。 http://jsfiddle.net/dimitar/nUWsU/8/