我希望能够做到这样的事情:
var fx = new Fx.Tween($('element'), {
duration: 500,
property: 'opacity',
transition: Fx.Transitions.Quart.easeOut,
link: 'chain'
});
fx.start(0, 1)
.chain(function() {
alert('foo');
})
.start(1, 0)
.chain(function() {
alert('bar');
});
然后在#element中淡出,然后运行一个函数。但是,我无法让它在第一个chain()之后运行第二个启动,这意味着#element没有淡入。
感谢您的帮助
答案 0 :(得分:4)
事实证明,与上述代码非常相似的东西可以工作,除非您需要使用callChain()以便下一个“链接”触发..这就是我现在正在使用的内容:
var effect = new Fx.Tween($('element'));
effect.start('opacity', 1)
.chain(function() { /* Do stuff */ this.callChain();)
.chain(function() { /* Do stuff */ this.callChain();)
.chain(function() { /* Do stuff */ this.callChain();)
.chain(function() { /* Do stuff */ this.callChain();)
.chain(function() { /* Do stuff */);
等等。
这是因为Chain类和Chain类的实例,而不是Fx.Tween的实例。我有点恼火,我需要使用callChain(),但它比拥有大量嵌套函数更好。