Положение div относительно окна?

Попытка найти положение div относительно окна. У меня есть горизонтальный div, и я хочу получить левое значение относительно окна. Итак, если я прокручу второй div слева от окна, он будет читать «0».

Не уверен, что это возможно без родительского div. Вот моя скрипка: http://jsfiddle.net/FSrye/

edit: он должен работать так без родительского div.

http://jsfiddle.net/FSrye/1/


person wesbos    schedule 10.05.2011    source источник
comment
так вы бы предпочли использовать body? требуется родитель   -  person Pablo    schedule 10.05.2011
comment
Что ты имеешь в виду? Размер тела документа отличается от размера окна.   -  person wesbos    schedule 10.05.2011


Ответы (2)


Попробуйте вычислить его как функцию положения элемента относительно положения прокрутки окна: http://jsfiddle.net/va836/

 var position = $('selector').position().left - $(window).scrollLeft();

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

На самом деле это еще проще — просто используйте offset() и не вычисляйте родителей.

var position = $('selector').offset().left - $(window).scrollLeft();
person tvanfosson    schedule 10.05.2011
comment
В вашем примере вы можете использовать post.position().left + $('#wrapper').position().left - $(window).scrollLeft() -- или расстояние элемента от края окна минус текущее расстояние, на которое окно прокручивается влево. - person tvanfosson; 10.05.2011
comment
@Wes - еще проще использовать offset(). - person tvanfosson; 10.05.2011

Я думаю, вы можете использовать scrollLeft() в окне, чтобы получить количество горизонтальной прокрутки.

person Paul Sham    schedule 10.05.2011
comment
Хм, тогда я думаю, что неправильно понял ваш вопрос. - person Paul Sham; 10.05.2011