2012-03-14 19 views
1

私は同時アニメーションを適用しようとしています.1つはUIの爆発的な効果です。私は、爆発効果のソースコードを見て、それがキューに入れられているのを見ました。これがキューに入れられないようにする方法はありますか?そうすれば、私は爆発効果の他に複数のアニメーションを実行できますか?jQuery UI Explodeエフェクトキュー

ありがとうございます! (参照 - このオプションを使用する方法の例があります)

答えて

2

問題は、explode関数の設計方法です。

要素の上端と左端からのオフセットをとります。これは、戻るべき位置、移動する距離などに関する計算のためにこれらを測定します。これらの値がなければ、これらの決定を行うことはできません。動的計算をサポートするのに十分に堅牢に構築されていませんでした。正当にもそうです。

私はこの理論を3つの例で証明できます。

まず:

Queued Animation Issue (As Described)

第二:

Attempting to Inject using setTimeout returns error offset.top() is null

これはあなたにこれが起こっている理由を明確に表示する機能を提供します。最も明白な答えは、コードのコア機能を変更しない限り、この解決策に修正がないことです。

これは私に最後の例をもたらします。以下の例では、divに要素をラップします。親要素の位置をアニメートし、子要素を展開します。その仕組みを見てみましょう。

サード:

As we can see here, the issue is in how the offset is calculated.

それは終わり、そして始まりを得ることができますが、それは、アニメーションの途中でオフセットをつかむことはできません。

私はこれもあなたが参照していた問題だと思っています。残念なことに(あなた自身で書くことを除いて)大したことはありません。

+0

私は多くのことを考え出しました、詳細な説明に非常に感謝します:) – Aaron

0

は私が効果を爆発特定に慣れていないが、私はjQueryのanimate()queueオプションを可能にすることを知っている影響で希望のアニメーションを配置するかどうかを決定しますキュー。 falseの場合、アニメーションはキューに入れられずにすぐに開始されます。それは役に立ちますか?

+0

いいえ、残念ながら。 explodeエフェクトは.animateで実行され、UIに組み込まれていますが、デフォルトではキューに入れられます。実際のUIソースを変更することは唯一の選択肢のようです...ありがとう! – Aaron