2011-02-08 7 views
2

5つの隠しリスト項目を10秒単位で表示する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()を自由に呼び出すことができます。

関連する問題