Недавно я смотрел видео Николаса Закаса, рассказывающего о сценариях высокой производительности. Это про перекраску и перекраску. он говорит, что плохо постоянно перекомпоновывать, что перемещается и меняет макет, изменяет размеры и т. д.
я ответил на вопрос о Переполнение при передаче из одного div в другое - что я сделал, чтобы «пролить» переполненный контент на другой div:
- измерить высоту внутреннего и внешнего контейнера (в настоящее время я использую jQuery.height ())
- проверить, больше ли внутренний, чем внешний
- если меньше (без разлива), конец сценария
- если больше (разлив), вытолкнуть последний символ во внутренний контейнер и перейти к следующему div
- положить текст обратно во внутренний контейнер (вызывая оплавление - пересчет высоты)
- вернуться к шагу 1
проблема в том, что я удаляю и добавляю символы, и измеряю высоту пролитого контейнера на «вытянутый символ» из контейнера. он также рендерится за каждую итерацию, что иногда делает его очень медленным.
есть ли способ иметь JS-копию DOM для манипулирования, проверки высоты и т. Д.? то, что я ищу, похоже на клон страницы. я слышал о фрагментах DOM, но это просто контейнер для узлов перед помещением их в DOM.