私はページに大きな数(> 1000)のDIVを持っているとします。それは非常に効率的に働く変更divのコレクションの表示プロパティがクロム+高速での非直線的な成長を遅らせる
document.getElementById('div'+i).style.display = 'none';
:私は、それらを反復処理し、呼び出す場合はそれぞれ、 'divの' + [0-n]は
の形式のIDを持っています。 2.5k + divで、それらはすべてすぐに消えます。
はしかし、私は、それらを反復処理し、呼び出す場合:
document.getElementById('div'+i).style.display = '';
当然のことながら、それが遅くなります。これらの項目は再描画して配置する必要があります。
Explorer 9とFirefox 9では、完全に機能します。
Chrome 15.0.874.121では、ひどく減速します。それは、およそ500 divsまでうまく動作し、その後本質的に壊れます。
これがなぜこのようになるのでしょうか?
また、一度に1つずつ「ブロック」する設定がパフォーマンスに影響しますか?または、JSが完了したら、再描画が完了しますか? (私はこれがブラウザの違いかもしれないと思います)。表示プロパティを変更するにはどうすればいいですか?
よろしくお願いします。 Daz。
すべてを描画する準備が整うまで、親を隠すことができます。 – mowwwalker
@Walkerneo - 提案に感謝します。残念ながら、私はそれを試みたが、それは助けに見えなかった。私が親を示す時点では、ページは以前と同じようにかなりロックされます。 – dazbradbury
くそー、ごめんなさい。私はこのことについてもっと知りたいと思う。 – mowwwalker