使用js循环的方式批量控制元素的大小时结果往往不尽如人意。
我总结了一条规律
在一个循环体内不可以同时存在一下两种操作,否则容易导致元素错位或大小改变:
1.对元素的offsetWidth、offsetHeight等与大小、位置有关的属性的访问
2.对元素的移动、改变大小(包括可能间接导致元素移动和改变大小的操作,例如创建插入或删除字符/节点、将其移动到另一个父容器中等)
如果有的话,将其拆分成两个循环才行。
至于为什么,在循环体内插入一个alert(“”),然后运行一下你就知道了
使用js循环的方式批量控制元素的大小时结果往往不尽如人意。
我总结了一条规律
在一个循环体内不可以同时存在一下两种操作,否则容易导致元素错位或大小改变:
1.对元素的offsetWidth、offsetHeight等与大小、位置有关的属性的访问
2.对元素的移动、改变大小(包括可能间接导致元素移动和改变大小的操作,例如创建插入或删除字符/节点、将其移动到另一个父容器中等)
如果有的话,将其拆分成两个循环才行。
至于为什么,在循环体内插入一个alert(“”),然后运行一下你就知道了