【发布时间】:2019-01-24 16:46:55
【问题描述】:
我有这种情况,我很想知道我该怎么做才能使菜单滑动顺畅,一直向右(在菜单打开时)和向左(在菜单关闭时)在运动开始和结束时没有那种有时会覆盖身体部位包裹物的抖动中断粘性效果;
我已尝试应用平滑过渡,但问题仍然存在:
#responsive-menu-pro-button, #responsive-menu-pro-container, .edge-wrapper {
-ms-transition-timing-function: cubic-bezier(0.77, 0, 0.175, 1) !important;
-moz-transition-timing-function: cubic-bezier(0.77, 0, 0.175, 1) !important;
-o-transition-timing-function: cubic-bezier(0.77, 0, 0.175, 1) !important;
-webkit-transition-timing-function: cubic-bezier(0.77, 0, 0.175, 1) !important;
transition-timing-function: cubic-bezier(0.77, 0, 0.175, 1) !important;
}
另外,设置transition-delay: .0s 应该 使slider 与wrapper 同时翻译,但它不适用。也许我没有选择正确的元素(?)或者有一个延迟值集干扰了这个规则,但即使在这种情况下,我也没有找到任何(使用 Agent Ransack the Responsive menu files 搜索)。
@media screen and (min-width: 767px) {
.edge-wrapper-inner, .edge-wrapper, .responsive-menu-pro-open, .responsive-menu-pro-close,
#responsive-menu-pro-wrapper, #responsive-menu-pro-container.push-left {
-webkit-transition-delay: .0s !important;
-moz-transition-delay: .0s !important;
-ms-transition-delay: .0s !important;
-o-transition-delay: .0s !important;
transition-delay: .0s !important;
}
}
请使用左上角的关于/关闭按钮观看标有红色箭头的黄色菜单容器,以查看不想要的抖动效果;在菜单打开或菜单关闭时移动结束时会很明显,在滑块的右边缘和包装器的左边缘可见。在理想条件下,没有延迟,没有抖动,滑块 + 包装器这两个元素应该像一个整体。但看起来有某种粘性弹性(?)属性应用于调用/反应,引入了这种延迟/抖动。
在 Win 10 64 位、16GB RAM、AMD Radeon HD 7700、Chrome 浏览器 69.0.3497.81 官方版本 64 位、启用硬件加速的默认 chrome://flags 设置以及 Edge 中测试 - 问题很明显,所有运动的方式,但那是另一回事。
LE : 关于浏览器重排,
奇怪的是,使用缓存和缩小 html/js/css 插件、Gzip 压缩、wordpress 中的 html 输出页面等,都无助于实现流畅的动画,即使我在优化后获得了相当不错的分数,如下所示:
PageSpeed Insights Chrome 扩展得分(检查无损重新压缩图像)
欧盟服务器的 Pingdom 分数
我尝试在 Chrome 控制台/性能中使用运行时性能分析动画序列,但我不太确定要查找什么。
问题:
是否有可能找到导致菜单打开/关闭时滑块卡顿的代码/脚本/行/事件并调整代码以使动画流畅,在 Chrome 最新版本和滑块与包装器在完全相同的时间翻译?我感兴趣的持续时间动画值几乎保持不变,而不是更少。
网站测试页here.
提示:如果没有显示上述不需要的效果,只需在性能选项卡(Chrome 控制台)中设置 CPU 4x ...6x 减速。
【问题讨论】:
-
在 Chrome 中对我来说看起来很流畅,从来没有晃动过
-
很奇怪... Win10 64bit, Chrome Version 68.0.3440.106 (Official Build) (64-bit)?奇怪,因为我也在其他电脑上测试过,问题就在那里。
-
在 Google Chrome(版本 68.0.3440.106 - 64 位)、Windows 10 64 位、16 GB RAM 上完全没有延迟/抖动。 Firefox Quantum(61.0.2 64 位)也是如此。它在 Microsoft Edge (42.17134.1.0) 上确实卡顿了很多。这可能会有所帮助:stackoverflow.com/questions/42242690/…
-
谢谢;嗯...现在我很困惑;在两台不同的 PC 上,我可以看到问题,只有我!?
-
我已经卸载了 Chrome,我做了一个干净的 reg 等等,再次安装(最新版本)没有插件/扩展,所有的设置都默认相同的故事;禁用/启用硬件加速,以及,不知道下一步该做什么,任何提示将不胜感激。
标签: google-chrome-devtools css-transitions css-transforms