1

我有一个 js 脚本来获取数据源并根据响应文本构建一些 div。

我已经使用 web worker 和 ajax 来拆分读取数据馈送并构建 html 代码过程。

但是,当我将 html 附加到我的容器时,它变得很慢(比如说 18000 的 div)

然后我更改方法以将 200 div 附加到我的容器向下滚动。

它变得非常快,但是当所有项目渲染时,其他进程开始变慢,例如,如果我让容器显示和隐藏,它就很慢。

我发现另一个解决方案是使用 z-index,它使显示隐藏过程更快。

但是,虽然我需要更改容器内容,但它又变慢了。

有什么想法或解决方案吗?

4

3 回答 3

3

在实时 DOM 结构之外执行尽可能多的更改将提高性能。要了解更多信息,请查看如何提高页面中 java 脚本的性能?

于 2013-01-02T08:59:08.447 回答
1

我遇到过类似的情况,我在树中的一个节点中添加了很多孩子。

问题

  1. 页面很慢。
  2. 元素的渲染很慢,有时甚至 JS 在 IE 中崩溃。

解决方案

  1. 我创建了在一个实例中将出现在 DOM 中的数字元素的上限。假设最初有 500 个元素,然后有另一个 ajax 请求将获取大约 500 个节点,所以我会清除一些元素。如果您可以管理清算方案,它会有所帮助。
  2. 没有内联 CSS 样式,它看起来会产生什么差异,但保留 CSS 类中的所有样式会提高性能。
  3. 定义适当的 HTML 结构,例如不保留任何悬空的 div、span 等。
  4. 通过适当的委托(如“on”)附加事件处理程序。

可以做很多事情来改善这一点。如果你可以为此发布一个 jsfiddle 肯定会有所帮助。

于 2013-01-02T09:19:24.110 回答
0

问题已解决 SlickGrid 可以轻松处理

于 2013-01-02T10:20:51.390 回答