5

私は、lazy-load、scrollTo、画像効果のもの、このサイトの人々の投稿を読んで収集したさまざまなスニペットなど、さまざまなjqueryプラグインを使用しています。現在、これらの効果はすべてフッターから発生し、ラグが発生しているようです。効果は、躊躇している、またはびくびくしている、または滑らかでないようなものです。

ドキュメントの準備とウィンドウの読み込みを試してみましたが、FOUCを防ぐためにヘッダーにスニペットがありますが、キューイングの問題やメモリの過負荷などが発生しているように感じます。(実行中のプログラムが多すぎてラップトップを使おうとすると、すべてが重くて遅く感じられるようなものです。)

特にオペラで。どういうわけか、Operaが私のサイトを処理できないようです。

いくつかのjquery効果がそのような問題を引き起こすはずだということは私には意味がありません。人々は激しいビデオゲームをプレイしますが、問題はありませんが、fadeIn効果のあるWebサイトは、コンピューターが処理するには突然多すぎますか?フッターコードに問題があるはずです。

だから私の理論の質問に-

これらのjquery効果のすべてがよりスムーズに実行され、メモリの消費が少なくなり、互いに競合しないようにするために、私が従う必要のある標準的な方法のようなものはありますか?

4

1 に答える 1

5

まず、Web ページの速度を低下させているのが JavaScript/jQuery コードなのか、それともプラグインなのかを判断する必要があります。つまり、コードをプロファイリングします。

それができたら、最適化を開始できます。jQuery の最適化について論じている記事はたくさんあります。

いくつかのヒント:

  • getElementById()ID セレクター自体は、ブラウザーによって大幅に最適化されている に委譲されているため、高速です。
  • jQuery セレクターをキャッシュします。つまり、$('.class1 #id2 > child3')10 回続けて電話しないでください。次のような変数に保存しますvar $mytd

プラグインに問題がある場合、選択肢はさらに限られます。ただし、試すことができることがいくつかあります。

  • すばやくロードできるように、ファイルが縮小されていることを確認してください (ファイルの転送に時間がかかるだけでなく、コンパイルされていないため、読み取りにも時間がかかります)。
  • 軽量の代替品を見つけてください。たとえば、フェード効果だけが必要な場合は、本格的な 50 kb の jQuery ライブラリを含めないでください。

少なくとも私が聞いたところによると、Opera は非常に高速である必要があります。ただし、IE を使用してテストしている場合は、遅くなることが予想されます。彼らの JavaScript エンジンはあまり良くありません。

于 2012-06-08T22:11:49.960 に答える