我有一个使用Dojo动画类构建的简单动画,以10秒为增量显示五个隐藏列表项。这是一个例子:
dojo.fx.chain([
dojo.animateProperty({
节点:progressList [0],
持续时间:listItemDuration,
onEnd:函数(){
dojo.style(this.node,'display','block');
}
}),
...
dojo.animateProperty({
节点:progressList [5],
持续时间:listItemDuration,
onEnd:函数(){
dojo.style(this.node,'display','block');
}
})
])。玩();
单独列出这些属性非常麻烦。迭代单个dojo.animateProperty更有意义。
是否可以使用dojo.forEach或其他方法迭代dojo.fx.chain中的元素?
答案 0 :(得分: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()
随意调用它。