为什么jQuery .css(‘left’)和.position().left返回不同的值?

前端之家收集整理的这篇文章主要介绍了为什么jQuery .css(‘left’)和.position().left返回不同的值?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
$(el).css(‘left’)和$(el).position()的值得到的值是不同的?

如果我去$(el).css(‘left’,’100px’),然后$(el).css(‘left’),它返回110px而不是100px(是的,它总是多10%),如果我评估$(el).position().左,它给我100.

为什么Chrome这样做?您可以看到这将如何影响使用left属性的jQuery动画.

我在Ubuntu上使用Chrome 21.0.1180.57.

编辑1:似乎只影响Chrome,FF 14.0.1给了我相同的价值.

解决方法

左侧返回CSS left属性的计算值.

position().left返回相对于元素的第一个偏移父元素的x坐标.

这些值为can be equal,它们可以是not equal.

position().左边也可以很容易地因为渲染而不是different between browsers,而.css(“left”)只能在给定的单位上有所不同.

猜你在找的jQuery相关文章