Положение JQuery () в простом JavaScript - PullRequest
5 голосов
/ 12 сентября 2011

У меня есть следующая строка кода:

var newLeftPos = $('span#s' + i).position().left - parseInt($('span#s' + i).css('width'), 10);

Он отлично работает в ie6 и выше, но мне также нужно заставить его работать в ie5.5.(Давайте не будем спорить об этом сейчас - я знаю - но у меня нет выбора)

Я уверен, что он падает на .position (), пока я тестирую на ie5.5 с jquery 1.2

Как я мог сделать то же самое в простом JavaScript?Может ли "offsetParent" помочь мне здесь?Видимо ie5.5 это поддерживает.

Заранее спасибо.

1 Ответ

2 голосов
/ 12 сентября 2011

Вы ищете offsetParent , offsetLeft и offsetRight.

Как видно по ссылке, похоже, что они поддерживаются даже старой бабушкой IE5.5.

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

Тогда ваша функция должна выглядеть примерно так:

var span = document.getElementById('s' + i);

var newLeftPos = span.offsetWidth - parseInt(span.style.width);
...