Различия в позиционировании jQuery между Chrome (webkit) и Firefox - PullRequest
11 голосов
/ 10 января 2011

Работая над слайдером диапазонов jQuery UI, я в основном отлаживал в chrome. Мне нужно было ограничить диапазон, чтобы я мог взять левую позицию одной из ручек следующим образом:

$el.css('left');

Что даст мне левую позицию в процентах: 84%. Однако, когда я тестировал в Firefox, он возвращал значение в пикселях.

Кто-нибудь испытывал это раньше? Основываясь на анализе DOM в Firebug, Firefox распознает позиционное позиционирование в процентах слева, но, похоже, не возвращает его как значение. Это поведение по умолчанию для Firefox? То же самое и в IE?

Ответы [ 5 ]

1 голос
/ 08 апреля 2011

используйте $el.position().left; вместо:)

1 голос
/ 19 января 2011

Функция css () возвращает значение указанного свойства css, сообщаемое браузером. В результате это зависит от браузера и не должно использоваться при работе с длинами и позиционированием таким образом.

0 голосов
/ 15 февраля 2013

Я работал над этой проблемой, напрямую обращаясь к DOM, например:

$el.get(0).style.left

возвращает значение% для FF, Chrome, Safari и IE9. (Не проверял это на Опере, все же)

0 голосов
/ 13 января 2011

Я использовал плагин в прошлом: http://plugins.jquery.com/project/dimensions

0 голосов
/ 13 января 2011

Я не верю, что существуют какие-либо известные различия в позиционировании с помощью jQuery, начиная с последней версии 1.4.4.

...