2011-02-08 46 views
2

我有一個用Dojo動畫類構建的簡單動畫,它以十秒爲增量顯示五個隱藏列表項。下面是一個例子:Dojo:通過鏈接動畫迭代?

dojo.fx.chain([

dojo.animateProperty({ 節點:progressList [0], 持續時間:listItemDuration, onEnd:函數(){ dojo.style(此.node, '顯示', '塊');}
}),

...

dojo.animateProperty({ 節點:progressList [5], 持續時間:listItemDuration, onEnd:function(){ dojo.style(this.node,'display','block'); }
}) ])。play();

單獨列出這些屬性非常麻煩。遍歷一個dojo.animateProperty更有意義。

是否有可能使用dojo.forEach或其他方法迭代dojo.fx.chain中的元素?

回答

2

當然。

喜歡的東西:

var hiddenNodes = dojo.query('.hidden'); 
    var anims = []; 
    hiddenNodes.forEach(function(n) { 
     anims.push(dojo.animateProperty({ 
      node: n, 
      properties: { 
       color: 'red' 
      }, 
      duration: 1000 
     })); 
    }); 

    var finalAnim = dojo.fx.chain(anims); 

注意,我們只創造一次。之後finalAnim可以通過,並有play()隨意調用它。