さまざまなコンテンツをテキストの列(および画像、ビデオなど)にラップするコードを書いています。コードは正常に機能しますが、使用しているアルゴリズムが原因で、特にこの一般的なロジックはかなり遅くなります。
- 列に何か(この例のテキスト)を追加します
- column.scrollHeight> column.offsetHeight(これにはDOMリフローが必要)かどうかを確認します
- はいの場合、テキストが短くなるまでバイナリ分割を開始します
基本的に私の問題は、不明な量のテキストを列に追加していることです。そのため、テキストの各チャンクの後に、正しいscrollHeightを提供するためにブラウザーがDOMをアクティブにリフローする必要がある列のスクロール高さを確認します。したがって、すべてを適切にレイアウトするために、50〜100以上のリフローがあります。
これらのほとんどを回避する方法に関する一般的なアイデアはありますか?