【发布时间】:2016-10-19 15:18:16
【问题描述】:
我有 javascript 代码可以更改一些 css 来移动东西,然后调用 getBoundingClientRect(或使用 jquery 的 .offset,没有区别)。我得到的结果毫无意义。我怀疑我正在获取旧值,而重新布局发生在后台线程上。如果我将代码分成两个函数并通过 setTimeout 调用第二个函数,则一切正常(超时间隔期间除外)。
我在网上找到了很多关于可能强制重新布局的东西,都是从“避免这些;它们很慢”的角度写的。我正在做的就是在那些名单上。
但我需要的是一种绝对强制同步重新布局的方法,但我找不到。有吗?
(这在 Firefox 和 Chrome 中都有,以防万一)
【问题讨论】:
标签: javascript css dom layout