【发布时间】:2019-02-01 19:34:20
【问题描述】:
例如,如果我想以 60fps 更新 CSS 值,在 JS 中执行 setCSS(i * 10 + 'px') 或 cssproperty: calc(10px * var(--i)) 之类的操作会更快吗?
【问题讨论】:
-
差异可能微不足道,以至于您可能会因编写此问题所花费的时间而失去找到答案的任何好处。因为您提到了 60fps,所以听起来您关心的动画性能不是很好。如果是这种情况,请查看使用 css
translate属性。某些东西的动画效果不佳 - 例如高度、宽度、使用absolute值(上、左、右、下)的任何定位等等。 -
什么是
setCSS()? -
@isherwood loops like OP 只是使用 setCSS 作为示例的理论 js 函数
-
您应该使用
requestAnimationFrame和时序逻辑来获得 60 fps 的流畅动画。这是一个与 react 组件一起使用以执行流畅动画的装饰器,是的,您可以一次运行多个并且它不会窒息。 gist.github.com/r3wt/172f61842c5d2a98cc3e49b336b6e988 这假设您知道属性的开始和结束位置,如果您不知道,您可以将其修改为不确定。
标签: javascript css css-variables