Javascript firefox何时重新计算元素的位置?
如果我使用javascript更改函数中某个dom元素的某些属性,浏览器是否会在函数完成之前立即重新计算元素的新位置?也就是说,如果我让一个元素不可见,比如Javascript firefox何时重新计算元素的位置?,javascript,firefox,Javascript,Firefox,如果我使用javascript更改函数中某个dom元素的某些属性,浏览器是否会在函数完成之前立即重新计算元素的新位置?也就是说,如果我让一个元素不可见,比如obj.style.display='none',并在相同的函数中读取另一个元素的属性,它们会被重新计算吗?答案比这稍微有点反常。现代浏览器中的DOM更新在以一定间隔刷新之前会被缓存。。。但是,通过查询DOM的状态,可以强制浏览器在那里执行回流。这是预期行为的一部分 看一个解释 因此,如果您想推迟回流,可能需要先获得所需的任何计算值。否则,你
obj.style.display='none'
,并在相同的函数中读取另一个元素的属性,它们会被重新计算吗?答案比这稍微有点反常。现代浏览器中的DOM更新在以一定间隔刷新之前会被缓存。。。但是,通过查询DOM的状态,可以强制浏览器在那里执行回流。这是预期行为的一部分
看一个解释
因此,如果您想推迟回流,可能需要先获得所需的任何计算值。否则,你应该没事。然而,由于它是“标准”的一部分,您可能会发现实现不同或不一致。答案比这稍微有点反常。现代浏览器中的DOM更新在以一定间隔刷新之前会被缓存。。。但是,通过查询DOM的状态,可以强制浏览器在那里执行回流。这是预期行为的一部分 看一个解释
因此,如果您想推迟回流,可能需要先获得所需的任何计算值。否则,你应该没事。但是,由于它是“标准”的一部分,您可能会发现实现不同或不一致。一旦函数完成,它们将重新计算。当Javascript返回主事件循环时,将计算所有内容。一旦函数完成,它们将重新计算。当Javascript返回主事件循环时,将计算所有内容。