Подтвердить что ты не робот

Почему jQuery.css('left') и .position() left возвращают разные значения?

Значения, которые я получаю для $(el).css('left') и $(el).position().left, различны?

Если я иду $(el).css('left', '100px'), то $(el).css('left') он возвращает 110px вместо 100px (да, он всегда на 10% больше), и если я оцениваю $(el).position().left, он дает мне 100.

Почему Chrome ведет себя так? Вы можете увидеть, как это повлияет на анимацию jQuery, используя свойство left.

Я использую Chrome 21.0.1180.57 на Ubuntu.

РЕДАКТИРОВАТЬ 1: Кажется, что это касается только Chrome, FF 14.0.1 дает мне одинаковые значения.

4b9b3361

Ответ 1

left возвращает вычисленное значение свойства CSS слева.

position().left возвращает x-координату относительно родителя первого смещения элемента.

Эти значения могут быть равны, и они могут быть не равны.

position().left также может быть разным между браузерами из-за различного рендеринга, тогда как .css("left") может различаться только в единицах, если это.

Ответ 2

Попробуйте этот код:

$("#div")[0].style.left