我得到的$(el).css('left')
和$(el).position().left
的值不同吗?
如果我去$(el).css('left', '100px')
,那么$(el).css('left')
它返回110px
而不是100px
(是的,它总是多 10%),如果我评估$(el).position().left
,它会给我100
.
为什么 Chrome 会这样操作?您可以使用 left
属性查看这将如何影响 jQuery 动画。
我在 Ubuntu 上使用 Chrome 21.0.1180.57。
编辑1:似乎只影响Chrome,FF 14.0.1给了我相同的值。
left
返回 CSS left 属性的计算值。
position().left
返回相对于元素的第一个偏移父项的 x 坐标。
这些值可以相等,也可以不相等。
由于呈现方式不同,浏览器之间的position().left
也很容易不同,而.css("left")
只能在给定的单位上有所不同,如果那样的话。
试试这段代码:
$("#div")[0].style.left