在一个网页上,我有一个相当大的项目列表(例如,产品卡,每个都包含图像和文本) - 其中大约 1000 个。我想在客户端过滤这个列表(只显示那些没有被过滤掉的项目),但是存在渲染性能问题。我应用了一个非常窄的过滤器,只剩下 10-20 个项目,然后取消它(因此必须再次显示所有项目),浏览器(非常好的机器上的 Chrome)挂断一两秒钟。
我使用以下例程重新渲染列表:
for (var i = 0, l = this.entries.length; i < l; i++) {
$(this.cls_prefix + this.entries[i].id).css("display", this.entries[i].id in dict ? "block" : "none")
}
dict 是允许项目的 id 的哈希值
这个函数本身立即运行,它的渲染挂了。是否有比更改 DOM 元素的“显示”属性更优化的重新渲染方法?
提前感谢您的回答。