js操作元素导致元素错位和大小改变

使用js循环的方式批量控制元素的大小时结果往往不尽如人意。

我总结了一条规律

在一个循环体内不可以同时存在一下两种操作,否则容易导致元素错位或大小改变:

1.对元素的offsetWidth、offsetHeight等与大小、位置有关的属性的访问

2.对元素的移动、改变大小(包括可能间接导致元素移动和改变大小的操作,例如创建插入或删除字符/节点、将其移动到另一个父容器中等)

如果有的话,将其拆分成两个循环才行。

至于为什么,在循环体内插入一个alert(“”),然后运行一下你就知道了

原文地址:https://www.cnblogs.com/liujinming/p/10979690.html