2

フェードインおよびフェードアウトしたい画像があります。

$("#img").animate({
    opacity: 0
}, 1000 );


$("#img").animate({
    opacity: 100
}, 1000 );

タイマーは両方とも1000ミリ秒に設定されていますが、フェードインははるかに高速に行われます。なぜこうなった?

ライブデモ: http: //jsfiddle.net/G3KtZ/

4

6 に答える 6

6

「フェードイン」アニメーション関数では、不透明度を100に設定します。単純に1に設定する必要があります。CSSの不透明度は0から1であるため、JavaScriptでも同じです(Javascriptを使用してCSS)。

これが何が起こるかです。jQueryは、1000ミリ秒の間に0から100まで不透明度をアニメーション化します。しかし、不透明度が1に達するとすぐに(わずか10ミリ秒後)、不透明度はいっぱいになります。

ここを参照してください:http://jsfiddle.net/G3KtZ/3/

于 2012-05-28T11:39:56.997 に答える
2

不透明度は0から1の間で測定され、コードの2番目の部分を次のように変更します。

$("#img").animate({
    opacity: 1
}, 1000 );

そしてそれは修正されました!

于 2012-05-28T11:40:03.113 に答える
2

不透明度を100ではなく1に設定します。1より大きい値はCSSで機能しますが、意味がありません。完全な不透明度は1で、非表示は0を意味します。

于 2012-05-28T11:40:07.200 に答える
2

不透明度は、0から100ではなく0から1の間の値を取ります。これにより、最大値(1)はフェードインアニメーションの1%になります。

于 2012-05-28T11:40:15.790 に答える
1

これは

$("#img").animate({
    opacity: 1
}, 1000 );

100ではありません。

于 2012-05-28T11:40:19.977 に答える
1

fadeIn()または、次のfadeOut()方法を使用できます。

$("#img").fadeOut(1000).fadeIn(1000);

http://jsfiddle.net/G3KtZ/4/

于 2012-05-28T11:41:16.630 に答える