在网页上,我有一个非常大的项目列表(比如产品卡,每个都包含图像和文本) - 大约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")
}
Run Code Online (Sandbox Code Playgroud)
dict是允许的项目ID的哈希值
这个函数本身就会立即运行,它的呈现会挂起.是否有比更改DOM元素的"display"属性更优化的重新渲染方法?
感谢您提前的答案.