3

私のサイトは現在ほとんどすべてAJAXであり、jQueryアニメーションを限界まで押し上げています。

動的ページネーションとjQueryの使用animateは、ChromeとIE9+を除くすべてのブラウザーでひどいように見えます。

これは、Chrome(IE9 +?)がデフォルトでJSマルチスレッドまたはマルチスレッドを有効にしている唯一のブラウザーであるためだと思います。

JS / HTML / etcの他のブラウザでもオンにすることは可能ですか?

よろしくお願いします!

プロファイリング

私は語彙が苦手なことで悪名高いので、最初はこの用語を理解していませんでした。

はい、私は常にコードを改善するためのより良い方法を探しています。文字列のhtmlを追加するのではなく、クローンを作成したり、一度に複数の要素を選択したりするなどの速度のために。

ChromeとIE9+ではスムーズに動作し、他のすべてではうまく動作しません(デフォルトのAndroid 2.2およびiPhoneモバイルブラウザでは最悪です)。

マルチスレッド

私はここからそれを手に入れ、それが理にかなっているのでそれを使いました。間違っている場合はお知らせください。適切かどうか質問を編集します。

私のダイナミックなページネーション

基本的に、私はループを介しappend cloned opacity:0 absolute divsrelativeコンテナに移動します。for複製されたdiv内の一部のサブdivも、forループを介してより多くのサブ行があるため、複製される可能性があります。追加された各divに10pxをtop追加して、累積された高さにします。準備ができたら、私animateopacity:1absoluteそこにとどまる必要がある場合、その'topは他の変更なしで単にアニメーション化されます。

すべてのアニメーションは500ミリ秒。CSSで事前フォーマットされたすべてのdiv。画像はありません。それは私がそれを作ることを望むことができるのと同じくらい簡単で、ChromeとIE9+で美しく動作します。

4

1 に答える 1

2

コードのプロファイルを作成し、Safariに組み込まれているツールを使用して、アニメーション(または動的ページネーション)が問題の原因であることを確認します。jQueryアニメーションの一部を純粋なJavaScriptで作成することを検討してください。jQueryが使用するコードの約10%を使用してフェード関数を書き直しましたが、トレードオフとして、最新のブラウザーのみを対象としています。

ジョーごとのパフォーマンスの向上:

http://net.tutsplus.com/tutorials/javascript-ajax/10-ways-to-instantly-increase-your-jquery-performance/

于 2012-12-16T18:40:02.510 に答える