我得到的$(el).css('left')
和$(el).position().left
的值是不同的?为什么jQuery .css('left')和.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给了我相同的值。
除了'的.css( “左”)'是不是这样做! http://i.imgur.com/auymh.png在chrome上,'.position()。left'给了我CSS的left属性值。 – 2012-08-08 10:26:13
@GauravDadhania你能告诉我一个jsfiddle吗?在屏幕截图中,它们具有不同的值。一个是1145其他是1040. – Esailija 2012-08-08 11:20:51
嗯,我试图重新创建它,但标记/样式太复杂。然而,最终,将'div.jspDrag'的'position'从'relative'改为'absolute'固定了它!现在,当我使用'.css(“left”)'时,我得到了实际的'left'属性。你知道为什么'位置:亲戚'是罪魁祸首吗? – 2012-08-08 12:55:51