Нецелочисленные позиции смещения в jQuery - PullRequest
7 голосов
/ 07 января 2011

Функция смещения jQuerys иногда возвращает рациональные числа (например, 12.645613) для верхнего или левого. Я думал, что верхняя и левая позиции в пикселях и поэтому должны быть целыми числами (нет половины пикселя, или?).

Ответы [ 2 ]

5 голосов
/ 07 января 2011

Верхняя и левая позиции могут быть числами с плавающей запятой с любыми единицами измерения: см, мм, дюймы, точки, пк, em, ex или px или процентами.

Пример:

.someElement { top: 42%; left: 3.14in; }

Функция offset возвращает позицию, переведенную в пиксели, так что она вполне может быть числом с плавающей запятой. Значения не округлены.

В приведенном примере, если высота родительского элемента будет, например, 32 пикселя, значение элемента top будет 32 * 0,42 = 13,44 пикселя.

0 голосов
/ 01 февраля 2011

Это старый вопрос, но я думаю, я мог бы опубликовать ответ здесь, для потомков.

У меня тоже была эта проблема, и я обнаружил (спасибо Firebug), что проблема заключается в том, что теги h1 и h3 имеют поля с плавающей запятой (например, Firefox по умолчанию дает поле <H1> 0.67em 0) .

При удалении тегов <H1> и <H3> $(".fixedColumn").eq(0).offset().top возвращает целое число. Вы можете просто указать поля для этих тегов, и проблема должна быть исправлена.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...