我有一个div的“position”属性是“绝对的”。为什么jQuery的.position()与css的位置相同?
var a = $(div).first();
a.animate({top:20});
a.css("top");
>>"20px"
a.position().top;
>>15.243560791015625
发生了什么事? .position()
给了我相对于第一个定位祖先的位置。难道它不会和css的位置一样吗?
编辑:或者我可以问另一个问题。我怎样才能拨打.animate
来制作a.position()。top === 20?
编辑2:发现错误。这是“旋转”。
EDIT3:出于某种原因,在jQuery UI的插件的回调ui.position()
工作原理.css("top")
,不.position()
。虽然他们有相同的名字。
.css('position')引用CSS属性。 .position()指向页面上元素的坐标。 – 2011-06-13 21:04:08
是的。但他们为什么不同? – 2011-06-13 21:07:01
当css的位置是“绝对”时,“top”是相对于它最接近定位的祖先的,对吧? .position()会返回一个相对位置到它最近的定位祖先? – 2011-06-13 21:14:21