最近、高性能スクリプトに関するNicholas Zakasのビデオを見ました。これはリフローと再塗装に関するものです。操作のためのDOMの「オフサイト」コピー
:私は他のdivに「流出」溢れた内容に何をしたかた - 彼はそれは私がおよそ Transfer overflow from one div to another質問に答えなど周りに移動し、レイアウトを変更している絶えずリフロー、変更の寸法、に悪いと言っています
- は、内側と外側の容器の高さを測定する(現在、私は使用jQuery.height()) 内側が外側
- より大きい場合
- チェックする(NOスピル)、終了スクリプト
- 場合よりも少ないです大きい(流出)、最後の文字をポップする彼の次のdiv
- に内側容器と先頭に追加(リフロー原因 - 再計算高さ)を内側容器に戻ってテキストを配置
- バック1
をステップに、問題は、私は削除し、文字を追加していますで、こぼれた容器の高さを容器から出た「文字が飛び出した」ごとに測定する。反復ごとに再レンダリングされるため、時には非常に遅くなります。
DOMのJSコピーを操作して高さなどを確認する方法はありますか?私が探しているのは、そのページのクローンのようなものです。私はDOMフラグメントについて聞いたことがありますが、それはそれらをDOMに配置する前にノードのコンテナに過ぎません。
あなたは '.cloneNode()'を試すことができますが、文書からノードを削除すると次元が保持されるかどうかはわかりません – Raynos