我正在使用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'); }
);
答案 0 :(得分:7)
那是因为你的第二个函数没有调用myFx类的方法 - 这意味着它不会推进链。
链是一个混合到Fx类中。如果你做动画,它会自动尝试callChain
。因为你什么都不做,所以在警报下面添加:
this.callChain();
这样可以正常工作。也许文档需要改变,因为它现在不明显。 http://jsfiddle.net/dimitar/nUWsU/8/