使用新元素(例如 body.append(html))更新 DOM 后,我无法立即获取新更新元素的高度(例如 body.height())。部分修复是设置时间间隔并获取时间间隔结束时的高度 (setTimeout("alert(body.height)", 500))。
还有更好的想法吗?比如 DOM 完全更新后的回调?谢谢。
编辑:
仅当后台发生很多事情时(即页面首次加载时)才会发生这种情况。如果没有处理其他任何事情,页面更新似乎几乎是瞬时的。我需要的是回调,或者 DOM 何时被改革的指示器!
编辑:
问题在于浏览器被其他进程“分散注意力”,这使得浏览器无法在添加元素后立即更新。我该如何解决?
超时方法之所以有效,是因为渲染引擎有机会通过更改渲染元素并为其分配高度来显示新元素。
您可以将超时设置为0,仍然具有相同的效果。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)