Получить положение фиксированного элемента div с помощью jquery

У меня есть div с фиксированной позицией, и я хочу получить значение его позиции относительно весь документ, пока пользователь прокручивает страницу вниз.

Итак, скажем, я помещаю элемент 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.

15
задан Community 23 May 2017 в 11:54
поделиться