知道所有元素的正确坐标时执行javascript函数

时间:2017-09-25 09:04:03

标签: javascript scroll

我的页面上有几个部分元素 - 每个部分都有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无法成为解决方案。是否可以通过不同的方式判断元素的坐标何时可以正确确定?

非常感谢任何暗示。

0 个答案:

没有答案