如何不使用JQuery获取标签的左上角?
如何不使用JQuery获取标签的左上角?
How to get top left corner of tag not using JQuery?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
如何不使用JQuery获取标签的左上角?
How to get top left corner of tag not using JQuery?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(2)
element.offsetLeft
和element.offsetTop
将为您提供与其父级相关的顶角,递归调用它,直到您点击文档(document.parentNode 为 null 并结束递归) )将为您提供相对于整个文档的信息。请注意,这与
iframe
或任何其他拥有自己文档的内容不兼容。[编辑]
上面的递归函数太幼稚了,只适用于非常简单的页面。您可以改为迭代 offsetParent,但这也会导致一些问题。
这个解决方案似乎工作合理,但我自己还没有彻底测试它
检索 HTML 元素的位置 (X,Y)
element.offsetLeft
andelement.offsetTop
will get you the top let corner relevant to its parentcalling it recursively up until you hit the documment (document.parentNode is null and ends rescursion) will get you it relative to the entire document. Be wary that this isn't compatible with
iframe
or anything else that has its own document.[Edit]
The above recursive function is far too naive and only works on very simple pages. You can iterate over offsetParent instead but that also causes some issues.
This solution seems to work reasonably, but I havnt tested it thoroughly myself
Retrieve the position (X,Y) of an HTML element
要获取相对于其父级的位置,请使用:
现在您可以像这样使用它,提醒左侧位置:
如果您想要绝对位置,请使用:
您可以像
getRelativePos
功能。To get the position relative to its parent, use this:
And now you can use it like this, alerting the left pos:
If you want the absolute position, use this:
You can use it just like the
getRelativePos
function.