Лучший способ сортировки элементов DOM в контейнерах на веб-странице с использованием JavaScript - PullRequest
0 голосов
/ 18 августа 2011

Я столкнулся с проблемой, когда мне нужно отсортировать элементы на основе разных представлений, поддерживая несколько разных представлений.

Например, представление 1 выглядит примерно так:

Bucket A:
1
4
Bucket B:
23
25
Bucket C:
9
14

И представление 2 может выглядеть следующим образом:

Bucket A:
1
4
9
14
23
25

Теперь рассмотрим эти элементы в DOM (каждое из чисел представляет DIV).

Каков наилучший подход к их сохранениюотсортировано по выбранному виду?Должен ли я хранить эти сегменты (массивы JavaScript) за кулисами, и каждый раз при обновлении сегмента снова визуализировать представления?Или я должен сделать это, используя внутреннюю сортировку или другими словами, сортировку самих элементов DOM?

Основное требование - не должно быть мерцания при смене представлений.

1 Ответ

1 голос
/ 18 августа 2011

С точки зрения производительности почти всегда быстрее выполнять любой тип сортировки собственного объекта JavaScript (например, массива), а не сортировать элементы DOM по их содержимому.

Если вы испытываете мерцание, это может быть связано с интенсивной обработкой ЦП манипуляциями с DOM. Однако я не могу сказать наверняка, поскольку вы не привели пример.

Попробуйте jsbin.com

Также: чтобы не встретить одну из этих ловушек , я бы рекомендовал использовать такую ​​библиотеку, как underscore.js или sugar.js

...