Позиция jquery () не работает в IE9 - PullRequest
3 голосов
/ 12 января 2012

Кто-нибудь еще имел проблемы с position (), работающим нечетно в IE?Я пытаюсь вернуть левую позицию div, расположенного в центре.Chrome возвращает 342, что верно.IE9 возвращает 0,5.О чем это все?

  var sp = $('.jcarousel-container').position();
  alert(sp.left)

Ответы [ 3 ]

7 голосов
/ 12 января 2012

Кажется, что .offset () работает в IE9 в вашем примере с jsfiddle:

http://jsfiddle.net/fme6V/7/

Вот код:

var sp = $('.jcarousel-container').offset();
alert(sp.left)
2 голосов
/ 07 февраля 2012

Единственное, что мне пришлось потрудиться - это сделать что-то вроде: var xpos_inside_parent = the_child.offset (). Left - the_parent.offset (). Left;Это сработало для меня, но я надеюсь, что это скоро будет исправлено в jquery.

$ ('# что угодно'). Position () работает в IE9, если установлено CSS с помощью numer (например, left: 20px;'), но это тривиально для меня, потому что, если я устанавливаю позицию с помощью CSS, то это уже известно, и нет необходимости извлекать ее с помощью jquery.

Следующий пример показывает, что он не работает сцентрированный элемент 'margin: 0 auto'.Это также показывает мои временные исправления, вычитающие смещения: http://jsfiddle.net/maxoriola/MAwAH/4/

0 голосов
/ 12 января 2012

У меня это работает, используя этот код. Возможно, вы можете использовать это, чтобы исправить свои собственные.

http://jsfiddle.net/fme6V/

...