Javascript 元素在网页中的位置
我试图在javascript中获得元素的x,y坐标。我使用jquery的偏移量。我的代码是:Javascript 元素在网页中的位置,javascript,jquery,html,Javascript,Jquery,Html,我试图在javascript中获得元素的x,y坐标。我使用jquery的偏移量。我的代码是: var offsets = $('#11a').offset(); var top = offsets.top; var left = offsets.left; console.log("Coordinates of re-ranker (top,left): " +top + "," +left) 我的要点是: <p id= '11a'>
var offsets = $('#11a').offset();
var top = offsets.top;
var left = offsets.left;
console.log("Coordinates of re-ranker (top,left): " +top + "," +left)
我的要点是:
<p id= '11a'>
console.log中的值与11a的像素值不同,后者类似于60px x 23px。我在console.log中得到的值是完全不同的,也是十进制的。那么我在偏移量中得到了什么值呢?它与像素值不同吗?返回相对于文档的像素值。此方法完全可以返回浮点值,因为并非所有大小都是像素整数,例如:
考虑以下HTML:
<div style="position: absolute; left: 33%;"></div>
但是,请务必注意链接页面上的黄色框:
jQuery不支持获取隐藏对象的偏移坐标
元素,或用于在
身体元素
虽然可以使用
可见性:隐藏集,显示:从渲染中排除无
树,因此具有未定义的位置
它获取元素相对于文档的偏移量
您可以在这里了解更多信息:您可以通过
$("#11a").css("top").replace("px", ""); // You have to remove the 'px' it returns
那么为什么它与p的像素值不同呢?你从哪里得到这些值呢?在javascript控制台中,如果我检查元素,然后将鼠标放在id 11a对应的网页上,那么它会显示一些像素值,你需要参考我答案中引用的文本。您的浏览器的计算方式将不同于jQuery,因为它将包含样式I highlightedI获得类似autobe的内容,因为它没有继承任何css值,因此您需要获得与偏移量相关的文档位置。元素在屏幕中的位置永远不会相同,除非是固定的。与代码一样:.offset.left和.offset.top。但请记住,这是与文档相关的位置。
$("#11a").css("top").replace("px", ""); // You have to remove the 'px' it returns