谷歌Chrome浏览器并拖动以滚动



我正在开发一个网站:http://www.techniquetolife.com它基本上是一个5倍于窗口大小div中的窗口大小的div,其他div在大div中,使用overscroll和scrollTo插件进行导航。

该网站在Safari和Firefox操作系统/X中运行良好。但我在Chrome上运行时遇到了严重的问题。我不确定这是否只是Chrome OS/X的问题,但每当我滚动到大div中的一个内部div时,整个浏览器都会变慢,这只会在Chrome中发生。。。

如果我禁用过度滚动并使用滚动条,它可以100%正常工作,但我真的想使用过度滚动拖动滚动插件。

我不擅长编码,所以任何帮助都将不胜感激。

所有的插件/浏览器都是最新版本。

好吧,我发布了一个类似问题的答案,我认为这可能也有关系。虽然我可能错了,但你可以测试一下。

查看完整的问题和我的完整答案:Chrome慢速滚动与固定位置元素

问题及如何监控

这是因为Chrome由于某些原因决定,当固定面板覆盖它时,它需要重新编码和调整任何图像的大小

►右键单击页面->检查元素->时间线->帧

►底部命中记录

►返回页面并在上下拖动滚动条

这似乎只是Chrome用来确定是否需要重新绘制较低元素的方法的问题。

更糟糕的是,您甚至无法通过在可滚动div之上创建div来避免使用position:fixed属性来解决这个问题。这实际上会产生同样的效果。Chrome几乎说,如果页面上的任何内容都必须绘制在图像上(即使是在iframe、div或其他可能的图像中),请重新绘制该图像。因此,不管您滚动的是哪个div/frame,问题仍然存在。

简易破解解决方案

但我确实找到了一个破解方法来解决这个问题,到目前为止似乎没有任何负面影响。通过添加

-webkit-transform: translateZ(0); 

对于固定面板,将div放入其自己的合成层中。

最新更新