我面临着一个问题,我需要根据不同的视图对元素进行排序,以维护一堆视图不同的存储桶。
例如,View 1如下所示:
Bucket A:
1
4
Bucket B:
23
25
Bucket C:
9
14
视图2可能如下所示:
Bucket A:
1
4
9
14
23
25
现在考虑这些是DOM上的元素(每个数字代表DIVs)。
根据所选视图对它们进行排序的最佳方法是什么?我是否应该在幕后维护这些存储桶(JavaScript数组),并在每次更新存储桶时再次呈现视图?或者我应该使用DOM内排序,或者换句话说,对DOM元素本身进行排序?
主要要求是在执行视图更改时不应出现闪烁。
发布于 2011-08-18 05:44:49
从性能的角度来看,对原生JavaScript对象(比如数组)进行任何类型的排序都比根据DOM元素的内容进行排序要快得多。
如果您遇到闪烁,这可能是由于CPU密集型DOM操作造成的。但是,我不能肯定,因为您没有提供示例。
试试jsbin.com
另外:为了避免遇到these pitfalls,我建议使用诸如underscore.js或sugar.js之类的库
https://stackoverflow.com/questions/7099781
复制相似问题