У меня есть div с позицией "fixed", и я хочу получить значение его позиции относительно всего документа, пока пользователь прокручивает страницу вниз.
Итак, допустим, я поместил div на (x = 0, y = 0), а затем пользователь немного прокручивается и теперь, относительно документа, div включен (X = 0, y = 300), Я хочу получить эту информацию, я хочу знать точную позицию этого div в каждый момент, опять же, относительно всего документа, а не для окна или браузера.
Я пробовал много вещей, но ничто не похоже на то, что я пытаюсь сделать.
Один из них - это код , который не работает в случае фиксированного div:
var position = $("#fixed").offset(); /*it gets the position of the div
"fixed" relative to the document*/
$("#fixed").html(position.top); /*it prints the obtained
value on the div "fixed"*/
Здесь вы можете найти исполняемый код, и вы можете видеть, что при прокрутке вниз значение позиции div не изменяется.
Если я не ошибаюсь, код должен печатать новое значение в div каждый раз, когда он изменяет свое вертикальное положение относительно документа. Но оказывается, что этого не происходит.
РЕШИТЬ:
Вопрос был решен codef0rmer. Мне не хватало прокрутки, чтобы обновить значение позиции фиксированного div. Я был идиотом. Итак, окончательный код отлично работает так, как он писал:
$(function () {
var position = $("#fixed").offset();
$("#fixed").html(position.top);
$(window).scroll(function () {
var position = $("#fixed").offset();
$("#fixed").html(position.top);
});
})
И здесь вы можете увидеть текущий код.
Спасибо всем и специально для codef0rmer.