Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/379.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript firefox何时重新计算元素的位置?_Javascript_Firefox - Fatal编程技术网

Javascript firefox何时重新计算元素的位置?

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

如果我使用javascript更改函数中某个dom元素的某些属性,浏览器是否会在函数完成之前立即重新计算元素的新位置?也就是说,如果我让一个元素不可见,比如
obj.style.display='none'
,并在相同的函数中读取另一个元素的属性,它们会被重新计算吗?

答案比这稍微有点反常。现代浏览器中的DOM更新在以一定间隔刷新之前会被缓存。。。但是,通过查询DOM的状态,可以强制浏览器在那里执行回流。这是预期行为的一部分

看一个解释


因此,如果您想推迟回流,可能需要先获得所需的任何计算值。否则,你应该没事。然而,由于它是“标准”的一部分,您可能会发现实现不同或不一致。

答案比这稍微有点反常。现代浏览器中的DOM更新在以一定间隔刷新之前会被缓存。。。但是,通过查询DOM的状态,可以强制浏览器在那里执行回流。这是预期行为的一部分

看一个解释


因此,如果您想推迟回流,可能需要先获得所需的任何计算值。否则,你应该没事。但是,由于它是“标准”的一部分,您可能会发现实现不同或不一致。

一旦函数完成,它们将重新计算。当Javascript返回主事件循环时,将计算所有内容。一旦函数完成,它们将重新计算。当Javascript返回主事件循环时,将计算所有内容。