1

ページ上の要素を選択すると、Json が要求され、 とgoog.fx.dom.FadeInAndShow使用してページ遷移のアニメーションが開始されますgoog.fx.dom.FadeOutAndHide

要素をクリックしてからすぐに別の要素をクリックすると、リクエストはキャンセルされ、最新のクリックからのデータが入力されますが、アニメーションは前のクリックから完全に終了していないため、着信が発生します。情報は、前のアニメーションによって影響を受ける可能性がありますEND

getAnimationsコンポーネントにアニメーションがあり、.destroy()終了する前にアニメーションを実行できるようなものがあるかどうか疑問に思っています。

4

1 に答える 1

1

アニメーションが goog.ui.Component (または goog.Disposable を拡張するその他のオブジェクト) に関連付けられている場合、各アニメーションを作成した後、コンポーネント/ディスポーザブルの registerDisposable() メソッドを介してアニメーションをコンポーネントに登録できます。

そうすることで、(その dispose() メソッドを呼び出すことによって) コンポーネントを破棄することができます。これにより、それに登録されているすべての Disposables で dispose() が呼び出されます。goog.fx.Animation を見ると、dispose() が呼び出されると、その stop() メソッドが呼び出されるので、これでうまくいくと思います。

goog.Disposable を作成して、アニメーションを登録し、それらすべてを 1 か所から破棄することもできます。とはいえ、大量のアニメーションを登録し、それらが必要になるまでずっと dispose を呼び出さないと、アニメーションがガベージ コレクションされるのを防ぐため、メモリ リークが発生します。

于 2011-11-22T14:58:27.840 に答える