1

JQueryを使用して透明なpngをフェードインおよびフェードアウトしようとしています。もちろん、Firefox では滑らかに見えますが、IE (7 および 8) では許容範囲を大幅に下回っています。これは IE の既知のバグであり、残念ながら回避策はないようです。

基本的に私がやっていることは、画像の上に半透明の白い長方形を配置して、画像を「背景に」表示させることです。私はこれをスムーズに行いたいので、fadeIn の出番です。しかし、IE のバグのため、代わりに完全に不透明な白い四角形を画像上にフェードインすることを余儀なくされ、残念ながら画像が消えてしまいました。これはかなり良く見え、私が探しているものはほとんどありますが、まだ受け入れられません. バックグラウンドではありますが、ユーザーはページ上でいくつかの画像を見ることができる必要があります。

だから私の質問はこれです:

予想されるアニメーション時間の 75% をアニメーション化した後、fadeIn 関数 (または実際には任意の jquery アニメーション) を停止する方法はありますか?

これにより、画像の 75% が白い四角形と混合されたままになり、IE の厄介な透過 png バグに対処する必要がなくなります。

ありがとう!

4

4 に答える 4

5

不透明な画像を使用して、その不透明度を 75% にアニメートすることができます。

  $('#overlay').animate({
    opacity: 0.75
  }, 5000, function() {
    // Animation complete.
  });
于 2010-03-31T21:49:20.003 に答える
2

フェードイン/フェードアウトの代わりに、animate関数を使用して、不透明度プロパティを目的のレベルにアニメーション化します。

于 2010-03-31T21:48:43.343 に答える
2

また、 fadeTo関数を使用することもできます。

これはシンタックスです:

.fadeTo( duration, opacity, [ callback ] )
于 2010-03-31T23:06:16.880 に答える
0

あなたの状況にはお勧めしませんが、質問に対する実際の回答は次のとおりです:-)

.stop( [ clearQueue ], [ jumpToEnd ] )

要素で .stop() が呼び出されると、現在実行中のアニメーション (存在する場合) がすぐに停止します。たとえば、要素が .stop() が呼び出されたときに .slideUp() で非表示になっている場合、要素は引き続き表示されますが、以前の高さの一部になります。コールバック関数は呼び出されません。

http://api.jquery.com/stop/

于 2011-04-28T17:12:35.813 に答える