javascript - 使用 css、javascript 和 xhtml 的大型 5000 单元格网格

标签 javascript css xhtml

我需要创建一个大网格,大约有5,000 个单元格 (10x10px)。每个单元格都需要自己的 ID,必须是可点击的。被点击的单元格需要不同的阴影。我还必须有一个需要保持可见的背景图像。

这让我很头疼,因为创建 5000 个 div 标签的 HTML 开销实在是太多了。我们考虑过在客户端使用 JavaScript 动态创建 div 标签,但不知道如何合并已点击(不同阴影)单元格的列表。

有什么我们没有想到的吗?

马库斯

最佳答案

你确定你不需要 吗?

如果您打算在 Javascript 中生成网格,那么我的建议是:

1) 不要在循环中操作 DOM——它会非常慢。

2) 不要使用字符串连接 a-la out += '

';这也会很慢。最好的方法是将片段插入数组,然后加入。

3) 在插入 DOM 之前将单元格包装到某个容器中:插入一个元素 很多 child 比插入很多未包装的 DIV 更快。

4) 使用内联 block 定位单元格 div。 float 将花费大量时间在插入时重新计算。

5) 不要将点击处理程序单独绑定(bind)到每个单元格。在父级上使用 jQuery .delegate()。

6) 不要忘记 CSS 中的 rgba() ,这样你就可以很容易地让你的背景可见

参见 http://kod.as/lab/grid/用于我的 PoC 实现。

关于javascript - 使用 css、javascript 和 xhtml 的大型 5000 单元格网格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4037844/

相关文章:

javascript - 为什么我的过滤器没有按预期工作?

html - 我的模板的包装器漂浮在我的页脚上

php - 如何隐藏引用者?

javascript - 在下拉菜单选项选择中显示表格中的一些单元格

javascript - HTML Canvas 间隔与 RequestAnimationFrame

javascript - ajax POST 查询返回 null

html - 如何创建带有标题和悬停效果的图库

javascript - Jquery 在圆形路径中移动对象

css - 为什么 Firefox 渲染没有 "top"间距的无衬线文本?

css - 为什么 IE9 会扭曲我的网站(在 IE8 中开发)