#jquery #positioning
#jquery #позиционирование
Вопрос:
Пытаюсь определить положение div относительно окна. У меня есть горизонтальный div, и я хочу получить значение слева относительно окна. Итак, если я прокручу второй div слева от окна, он будет читать «0».
Не уверен, возможно ли это без родительского div. Вот моя скрипка:http://jsfiddle.net/FSrye /
редактировать: он должен функционировать подобным образом без родительского div.
Комментарии:
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. Хм, тогда, я думаю, я неправильно понял ваш вопрос.