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

#jquery #positioning

#jquery #позиционирование

Вопрос:

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

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

редактировать: он должен функционировать подобным образом без родительского div.

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

Комментарии:

1. итак, вы бы предпочли использовать body ? требуется родительский элемент

2. Что вы имеете в виду? Размер тела документа отличается от размера окна.

Ответ №1:

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

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

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

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

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

Комментарии:

1. Для вашего примера вы могли бы использовать post.position().left $('#wrapper').position().left - $(window).scrollLeft() — или расстояние элемента от края окна минус текущее расстояние, на котором окно прокручивается влево.

2. @Wes — использовать это еще проще offset() .

Ответ №2:

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

Комментарии:

1. Хм, тогда, я думаю, я неправильно понял ваш вопрос.