在将元素设置为绝对位置之前,我需要获取元素的当前位置(顶部,左侧)。
这样做:
var left = $(element).position().left;
$(element).css({'position':'absolute'});
左边总是0。但最初的位置不是0。如果我不使用css()方法设置绝对位置,则左侧返回右侧左侧位置。有关如何解决此问题的任何想法?
P.S。 :在回答之前,这个bug也发布在jquery bug tracker上。但是没有人在那里回答。仔细阅读我的问题。我不是问如何获得这个位置,我问为什么我为什么能得到任何元素Jquery bug link的相同位置。在将它们设置为绝对值之后,为所有元素获取相同位置是正常的,而不是之前。或者我错了吗?
答案 0 :(得分:2)
如果你试图将它的css定义为左侧位置,请使用
var left = parseInt($element.css("left"));
如果您尝试获取相对于文档的位置,请使用
var left = $element.offset().left;
答案 1 :(得分:0)
尝试使用.offset()
而不是.position()
,它会根据document
元素而非HTML父级(具有非静态位置集)为您提供元素的坐标
文档: