0

我有一个基于使用 jQuery/jQuery UI 拖放的 HTML 表的计划网格。表中的每个单元格代表一个用户和时间段。我在 IE9、FireFox 和 Chrome 中都有很好的性能,但是 IE8 无法使用,因为在用户开始拖动和拖动助手出现之间有几秒钟的暂停。

我知道问题的一部分是我正在创建大量的可放置对象,在这种情况下:

24 小时网格上的 112 个用户(共创建了 2688 个可放置对象)

如果我删除使空 2688 单元格可丢弃的代码,速度会显着提高,但 IE8 中的动画仍然感觉迟缓。

有什么建议可以加快速度?我考虑过让表格本身成为可放置的,但我不确定如何计算要放置到哪个单元格上,并且我会丢失指示活动单元格的 hoverState CSS 背景。

一个关键要求是我坚持使用 HTML 表,因为它是如何在服务器上绑定数据的。

我在与 IE8 打一场失败的战斗吗?我真的很想在那个浏览器中尽可能快地做到这一点。

4

1 回答 1

1

我会尝试绑定到 mouseover 事件,并且在鼠标实际位于元素上方之前,实际上不会初始化任何可放置(或与元素交互所需的其他参数)。通过采用这条路线,我在高度交互的页面上将性能提高了大约 400%。

如果这没有帮助,请考虑使用 dynaTrace ajax 版本进行测试,该版本向您显示 javascript 中的慢点在哪里。

于 2012-06-20T19:17:24.933 回答