【发布时间】:2013-10-25 23:56:32
【问题描述】:
我的问题很简单,
为什么当我尝试获取元素的偏移位置时,我会在 chrome devtool 时间轴上看到任何回流?
我刚刚读过这个=>
offsetTop, offsetLeft, offsetWidth, offsetHeight, scrollTop/Left/Width/Height, ClientTop/Left/Width/Height, getComputedStyle() 或 IE 中的 currentStyle
以上所有这些本质上都是在请求关于 一个节点,任何时候你这样做,浏览器都必须给你最 最新的价值。为此,它需要应用所有预定的 更改,刷新队列,咬紧牙关并进行重排。
所以我打开了我的 chrome devtool 时间线,但是当我尝试这个时我没有看到任何重新计算的样式(紫色的东西):
element.offsetHeight;
查看某些渲染的唯一方法是更改元素的样式:
element.style.left = element.offsetLeft + 10 + "px";
我希望每次尝试滚动到窗口顶部时都会看到重排,但没有:/
$(window).scrollTop();
【问题讨论】:
标签: performance rendering google-chrome-devtools reflow