html - 在浏览器中有效地表示大网格

标签 html css optimization

我需要在浏览器中显示和操作包含多达 10,000 个简单单元格(例如 100 x 100)的网格。这些单元格基本上只是一个彩色矩形。操作包括使用 Javascript 更改单元格颜色,处理每个单元格上的点击等。使用每个单元格 1 个 div,和 1 个 div 将单元格组包装成一行,我基本上可以减少到 10,000 个 DOM 元素,但这仍然相当很多。我担心甚至更快的 DOM 函数的性能,例如 getElementById

最初的问题:如果我将所有必要的 DOM 元素引用存储在一个 Javascript 数组中(例如,一个 10,000 元素的数组,每个单元格一个元素)并在每个元素的基础上操作 CSS,这是否有一个祈祷与 DOM 有 200-500 个元素时一样快?

因此,我正在寻找有关如何更有效地显示这个 100 x 100 网格的建议。我考虑过使用 canvas 并使用 Javascript 绘制每个单元格,但我不确定这实际上会快多少,尤其是在编辑单元格样式时。我也不太倾向于使用 canvas 因为它不是完全交叉兼容的(阅读:@#%$ing IE)并且在某些时候我可能需要制作这个东西 IE-兼容。

你有什么想法?

最佳答案

参见 JavaScript data grid for millions of rows或者,简而言之,使用 SlickGrid - http://github.com/mleibman/slickgrid

关于html - 在浏览器中有效地表示大网格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2297626/

相关文章:

javascript - img 响应式,固定样式

javascript - 为什么无限循环不抛出错误

html - rowspan 在第二行上未按预期工作

html - 如何在 Bootstrap 中嵌套列?

html - 如何在 Ionic 4 中将边界半径添加到 ion-img

java - 由于 freeMemory() 仅报告长期存在的对象,如何跟踪 Java 中的任何对象创建?

javascript - 在 React 中隐藏 HTML 元素

html - 三个框不对齐顶部

r - 将最大似然估计的系数放入观星表中

javascript - wuic javascript优化版本号计算