7

我正在使用 HTML 表格构建一个基于 Web 的小应用程序。该表的一个不寻常的特性是它具有固定的顶行和左列(类似于 excel)。我使用一点 jQuery 和 CSS 完成了这项工作。

问题是,触发我的代码的 jQuery 事件是 $(window).scroll 事件,显然大多数浏览器(Chrome 和 IE)在此事件调用的代码完成运行之前重绘页面。结果,左列和顶行需要一瞬间才能“赶上”表格的其余部分。

为了向您展示我的问题,我提供了一个精简的 jsFiddle 示例。注意:当表格很小并且(相对而言)没有内容时,滞后不是很明显。尽管如此,它仍然存在(假设您没有使用 Firefox)。有什么办法可以摆脱这种滞后?

谢谢!

4

2 回答 2

2

我没有让它与滚动事件或 requestAnimationFrame 一起工作。我最终做的是附加到鼠标滚轮事件,该事件在滚动和渲染发生之前触发。如果滚动事件向下,我可以及时应用适当的类进行渲染。

于 2014-07-11T23:34:59.357 回答
2

只是一个想法,但也许值得考虑:您可以尝试requestAnimationFrame按照本文所述(或以类似方式)使用。这可能会解决更新/“滞后”问题。

于 2012-07-05T14:40:22.157 回答