0

ケース: コンテンツが (jquery を使用して) 一部の div に動的に追加されます。コンテンツには非常に大量の要素が含まれています (1000 div など)。

次に、要素の正しい寸法を計算する必要があります (実際には、px でのトップ位置が必要なので、jquery position() 関数を使用します)。最初に、コンテンツが追加された直後に計算を開始しました。

問題は、そのコンテンツにまだ適切に適用されていないCSSスタイルが原因であると私は信じています(そしてかなり確信しています)。

コンテンツが追加された後、(setTimeout を使用して) タイムアウトした後に呼び出しを開始するこの問題を解決しようとしました。使用するタイムアウトが多いほど (20 から 500 ミリ秒でテストしました)、ブラウザがスタイルを適用する時間が長くなり、計算が正しくない可能性が低くなります。

問題は、タイムアウトを使用したこのソリューションは 100% の信頼性と安全性を備えているわけではなく、プロセスの正確性を確保するために非常に大きなタイムアウトを使用する必要があり、プロセスの全体的なパフォーマンスが低下する可能性があることです。

そのため、いつスタイルが完全に適用され、いつ位置計算を開始できるかを知る必要があります。あなたは何をアドバイスできますか、それを行うための信頼できる方法はありますか?

4

2 に答える 2

0

Firebug または Google Chrome 開発ツールを使用しますか? 問題のある領域を右クリックして [Inspect Element] を選択すると、jQuery またはその他の Javascript が実行された後のコードがそのまま表示されます。

jQuery が目的のアクションを実行するのに (つまり、CPU 上で) かかる時間を確認するには、Google Chrome 開発ツールのコード インスペクターを開いたままにし、ページを更新して、コードが変更されているかどうかを確認します。これが私のやり方です。

于 2013-02-07T12:10:44.730 に答える
0

このスタイルがページに追加された後、タイムアウトが必要ですが、動的に適用されたページ スタイル (動的に作成されたスタイル タグ) に問題があることがわかりました。また、タイムアウトが十分でない場合、位置計算が失敗する場合があります。ただし、最も信頼できる戦略ではありません -(

于 2013-02-08T03:37:53.003 に答える