我做了一个solution至 another of my questions .但是,经过最近的一些更改后,它在 Firefox 3.6 中看起来不错,但在 Google Chrome 中却显示出相当糟糕的显示异常。在 JavaScript 代码更改其位置后,它似乎没有刷新/重绘表标题行。
当 float 表格标题行位于表格中间某处时尤其明显,然后您快速向上滚动:它在表格中间留下标题行的副本,并且不会正确重绘表格.
The online demo is located here.
源代码在 Mercurial bitbucket repository, here 中.
如果有人能指出一个干净的解决方案以使其在 Google Chrome 中正确刷新显示,我将不胜感激。
更新:我在 Ubuntu Linux 10.04 和 Windows XP 以及 Chrome 版本 5.0.375.99 beta 上都看到了它。在 Linux 上似乎更明显,但在 Windows 上也是一个问题。我刚刚在 Linux 上获得了 5.0.375.125 测试版,而且它仍在进行中。
我会用 issue in BitBucket 来跟踪它.
更新 2011 年 1 月 26 日:我已经在 Ubuntu Linux 10.04 上用 Chrome 9.0.597.67 beta 测试了这个,问题似乎不再明显。
最佳答案
较新的答案:
我能够通过将重置延迟一个“帧”的执行来解决 Windows 上的问题。将 else 条件包装在 setTimeout 中:
setTimeout(function() {
floatingHeaderRow.css("visibility", "hidden");
floatingHeaderRow.css("top", "0");
}, 1);
旧答案:
我认为问题不会出现在 Windows 版 Chrome 上(我刚刚尝试过)。但是,切换到 position:fixed 而不是 position:absolute 可能会表现得更好并解决您的问题。只需使用您的间隔来检查您是否需要滚动并设置 position:fixed,否则返回。
关于jquery - 在 Google Chrome 中,jQuery 操作后表格未正确刷新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3300523/