我的页面上有几个部分元素 - 每个部分都有id
- 值(例如id="description"
),如果id
- 值作为参数存在于网址中(?section=description
)然后它将滚动到页面上的section-element。
因此,我正在使用window.onload
函数。
问题是页面上的section-elements的coordiantes(以及宽度和高度)在它们正确之前太早确定(在浏览器显示所有内容之前),因此滚动结束于错误的位置。
E.g。由id="description"
确定的window.onload
部分元素的错误坐标:
DOMRect { x: 665.2833251953125, y: 789.7666625976562, width:
602.433349609375, height: 296.4666748046875, top: 789.7666625976562, right:
1267.7166748046875, bottom: 1086.2333374023438, left: 665.2833251953125 }
E.g。在使用window.onload
但另外使用timeOut
函数等待2s时更正coordnates:
DOMRect { x: 538.2999877929688, y: 860.2000122070312, width:
856.4000244140625, height: 155.60000610351562, top: 860.2000122070312,
right: 1394.7000122070312, bottom: 1015.8000183105469, left:
538.2999877929688 }
使用setTimeout无法成为解决方案。是否可以通过不同的方式判断元素的坐标何时可以正确确定?
非常感谢任何暗示。