0

私はraphaeljsでカスタマイズされたマップを構築しようとしています。これでやりたいことは、順番に表示される国のフェードイン フェードアウト効果のようにすることです。そのために、setInterval()イベントを使用しました...

ここでいくつか試してみましたが、最後のアイテムを表示することができました.フェードインフェードアウト...それを順番に表示したい....誰か助けてもらえますか???

サンプルは次のとおりです。

http://jsfiddle.net/vpmzT/

4

1 に答える 1

1

ここにはいくつかの問題があります。@JSantos がすでに指摘している最初の問題です。すべての状態を同時に点滅するように設定しますが、これはおそらく意図した動作ではありません。2 番目の問題は、current変数とintervalFunctionsが共有されているため、状態ごとに新しい値が割り当てられることです。これが、実際にアニメーションを実行するためにリスト内の最後の状態のみを取得する理由です。アニメーションが開始されるまでに、intervalFunctions配列には最後の状態のアニメーション関数が含まれています。

これを回避するには複数の方法がありますが、通常は、 を使用してアニメーションを順番に実行するようにスケジュールする必要がありますsetTimeout(setInterval(animation_function(), total_interval), delay)。それを行う1つの可能な(あまり読みにくい)方法はhttp://jsfiddle.net/uTtaP/28/です

于 2012-07-02T16:50:40.047 に答える