2010-12-07 151 views
2

我希望能夠做這樣的事情:MooTools的影響鏈接

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,然後運行功能。但是,我不能得到它的第一個鏈(),這意味着#element不褪色回來後運行的第二次創業。

感謝您的幫助

+0

你可以做這樣的事情http://www.jsfiddle.net/dimitar/FkCgY/(1.2.x +)你是在1.12偶然? – 2010-12-07 16:22:01

回答

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類的實例,而不是Fx.Tween的實例。我有點惱火,我需要使用callChain(),但它比嵌套函數的負載更好。