我有一个基于HTML表格的时间表网格,使用jQuery/jQuery UI拖放。表中的每个单元格代表一个用户和时隙。我在IE9,FireFox和Chrome上都有很好的表现,但是IE8无法使用,因为在用户开始拖拽和拖拽助手出现之间有几秒钟的停顿。
我知道问题的一部分是我创建了大量的droppables,在这种情况下:
24小时网格上的112个用户(总共创建了2688个droppables )
如果我删除使2688个空单元格变为可丢弃的代码,速度会显著提高,但在IE8中动画效果仍然很慢。
有什么建议可以加速这个过程吗?我考虑过让表格本身成为可拖放的,但我不确定如何计算拖放到哪个单元格上,而且我会失去指示活动单元格的hoverState CSS背景。
一个关键要求是我坚持使用HTML表,因为它是如何在服务器上绑定数据的。
我是否在与IE8进行一场失败的战斗?我真的很想在那个浏览器中尽可能快地完成这项工作。
发布于 2012-06-21 03:17:25
我会尝试绑定到mouseover事件,并且在鼠标实际位于元素上之前,不要实际初始化任何droppable (或在元素上进行交互所需的其他参数)。通过采用这种方式,我在一个高交互性的页面上提高了大约400%的性能。
如果这还不能解决问题,可以考虑使用dynaTrace ajax版进行测试,它会显示javascript中的慢点在哪里。
https://stackoverflow.com/questions/11126569
复制相似问题