在将元素设置为绝对位置之前,我需要获取元素的当前位置(顶部、左侧)。
这样做:
var left = $(element).position().left;
$(element).css({'position':'absolute'});
left 将始终为 0 。但初始位置不是 0 。如果我不使用 css() 方法设置绝对位置,则 left 将返回右左位置。关于如何解决这个问题有什么想法吗?
附注:在answerng之前,这个bug也被发布在jquery bug tracker上。但那里也没有人回答。仔细阅读我的问题。我不是问如何获得位置,而是问为什么我对任何一组元素都获得相同的位置 Jquery bug link 。在将所有元素设置为absolute之后,而不是之前,获得相同的位置是正常的。还是我错了?
最佳答案
如果你想获取它的 css 定义的左侧位置,请使用
var left = parseInt($element.css("left"));
如果您想获取它相对于文档的位置,请使用
var left = $element.offset().left;
关于jquery - 在将元素设置为绝对位置之前如何获取元素的position().left/top?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18921360/