作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在 mozilla docs on performance best practices for front-end engineers建议结合setTimeout
与 requestAnimationFrame
在重绘后立即运行:
requestAnimationFrame(() => {
setTimeout(() => {
// This code will be run ASAP after Style and Layout information have
// been calculated and the paint has occurred. Unless something else
// has dirtied the DOM very early, querying for style and layout information
// here should be cheap.
}, 0);
});
最佳答案
Why is this the recommended solution? What exactly makes this the optimal way to schedule something right after a repaint?
setTimeout
0 (或
setImmediate
在支持它的浏览器上)将在之后尽快执行代码。这并不能保证您的代码是重绘后首先运行的代码,但鉴于您可以使用的 api,这是您能做的最好的事情。
关于javascript - 为什么建议在重绘后调度某些内容时将 setTimeout 嵌套在 requestAnimationFrame 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47184298/
我是一名优秀的程序员,十分优秀!