2010-12-13 7 views
2

私は、ほとんどのモーダルボックスのプラグインのようにフェードインする暗いオーバーレイを作成しようとしています。jQuery performance fullscreen fade

#overlay { 
    background: black; 
    display: none; 
    opacity: .3; 
    z-index: 9999; 
    position: absolute; 
    height: 100%; 
    width: 100%; 
    top: 0; 
} 

私はjQueryのを使用してこの#overlayをアニメーション:

$('#overlay').fadeIn(400); 

このフェードインのパフォーマンスはしかし、最適ではない私は<div id="overlay">と、次のCSSを持っていることによってそれを行います。 1920x1080ピクセルの解像度でフェードインすると、FPSは約10/15と推定されます。このアニメーションをもっとスムーズにするためのよりよい方法はありますか?

+1

どのブラウザですか?どのバージョン? **大きな違いがあります** –

+0

Safari 5/Chrome 8 –

答えて

4

jQuery 1.4.3のバージョンでは、1秒あたりのフレーム数を制御できます。リンクthisを参照してください。より高いFPSで再生すると、アニメーション全体がよりスムーズになる場合があります。

JavaScriptのアニメーション処理は、古いブラウザ(IE6-7)ではあまりスムーズではありません。

-2

低レベル.animate()の機能はどうですか? かもしれないより良い。

+2

完全にテストされていないランダムな投機 - 有用な答えではありません –

+0

あなたはそうですが、その解決策についてはテストする手段がありません。 – ncuesta

+1

'fadeIn()'は、[.animate() '](https://github.com/jquery/jquery/blob/master/src/effects.js#L270)の呼び出しのためのラッパーです。事前定義された。 – user113716