フェードインおよびフェードアウトしたい画像があります。
$("#img").animate({
opacity: 0
}, 1000 );
$("#img").animate({
opacity: 100
}, 1000 );
タイマーは両方とも1000ミリ秒に設定されていますが、フェードインははるかに高速に行われます。なぜこうなった?
ライブデモ: http: //jsfiddle.net/G3KtZ/
フェードインおよびフェードアウトしたい画像があります。
$("#img").animate({
opacity: 0
}, 1000 );
$("#img").animate({
opacity: 100
}, 1000 );
タイマーは両方とも1000ミリ秒に設定されていますが、フェードインははるかに高速に行われます。なぜこうなった?
ライブデモ: http: //jsfiddle.net/G3KtZ/
「フェードイン」アニメーション関数では、不透明度を100に設定します。単純に1に設定する必要があります。CSSの不透明度は0から1であるため、JavaScriptでも同じです(Javascriptを使用してCSS)。
これが何が起こるかです。jQueryは、1000ミリ秒の間に0から100まで不透明度をアニメーション化します。しかし、不透明度が1に達するとすぐに(わずか10ミリ秒後)、不透明度はいっぱいになります。
ここを参照してください:http://jsfiddle.net/G3KtZ/3/
不透明度は0から1の間で測定され、コードの2番目の部分を次のように変更します。
$("#img").animate({
opacity: 1
}, 1000 );
そしてそれは修正されました!
不透明度を100ではなく1に設定します。1より大きい値はCSSで機能しますが、意味がありません。完全な不透明度は1で、非表示は0を意味します。
不透明度は、0から100ではなく0から1の間の値を取ります。これにより、最大値(1)はフェードインアニメーションの1%になります。
これは
$("#img").animate({
opacity: 1
}, 1000 );
100ではありません。
fadeIn()
または、次のfadeOut()
方法を使用できます。
$("#img").fadeOut(1000).fadeIn(1000);