2

我正在使用 MooTools,并且我有以下似乎无法执行的代码。我期望它将#bar元素的宽度增加到50px,然后alert()用“hi!”,然后继续增加#barto的宽度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'); }
);

小提琴 ​</p>

4

1 回答 1

7

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

chain 是 Fx 类的一个 mixin。如果你做一个动画,它会自动尝试callChain。因为你什么都不做,所以在警报下面添加这个:

this.callChain();

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

于 2012-08-24T20:28:47.610 回答