2011-02-08 48 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()随意调用它。