Javascript 在DOM深处设置元素动画真的会影响性能吗?

Javascript 在DOM深处设置元素动画真的会影响性能吗?,javascript,jquery,dom,animation,Javascript,Jquery,Dom,Animation,我读书,它让我思考 帮助浏览器进行渲染 浏览器管理渲染树,以及 各要素相互依存。如果已设置动画的元素位于 DOM,然后其他元素取决于它的几何体和位置。即使 动画实际上不会移动它们,浏览器必须执行 其他计算 要使动画消耗更少的CPU(并且更平滑),请不要 在DOM深处设置元素动画 这是指香草JS-这是过时的建议吗?jQuery是否有这个问题,或者它是否做了一些巧妙的事情来避免它?它确实有意义。通过更改元素,浏览器必须验证此更改是否影响“链上”的任何内容。通过使该对象独立于布局,可以绕过此问题。您可

我读书,它让我思考

帮助浏览器进行渲染

浏览器管理渲染树,以及 各要素相互依存。如果已设置动画的元素位于 DOM,然后其他元素取决于它的几何体和位置。即使 动画实际上不会移动它们,浏览器必须执行 其他计算

要使动画消耗更少的CPU(并且更平滑),请不要 在DOM深处设置元素动画


这是指香草JS-这是过时的建议吗?jQuery是否有这个问题,或者它是否做了一些巧妙的事情来避免它?

它确实有意义。通过更改元素,浏览器必须验证此更改是否影响“链上”的任何内容。通过使该对象独立于布局,可以绕过此问题。您可以将其设置为绝对位置,或设置变换的动画。在这种情况下,动画元素不应影响页面上的任何内容


是的,jQuery有这个问题。如果您想要性能动画,您应该使用CSS或Native element.animate(如果可用):

我相信这对于今天的浏览器仍然适用,还有更多关于CSS动画的“提示”:还要记住,jQuery是香草JS(内部)。这只是一个图书馆。@Derek谢谢。我想知道jQuery是否做了一些事情来缓解这种情况,可能是通过从DOM中取出一些东西来设置它们的动画,或者尝试减少更改布局的需要(比如CSS更改背景颜色)。