Обратите внимание, что $(element).offset()
сообщает вам позицию элемента относительно документа . В большинстве случаев это прекрасно работает, но в случае position:fixed
вы можете получить неожиданные результаты.
Если ваш документ на длиннее, чем область просмотра , и вы прокрутили его вертикально вниз, то значение offset()
элемента position:fixed
будет больше ожидаемое значение по сумме, которую вы прокрутили.
Если вы ищете значение относительно окна просмотра (окно), а не документ с фиксированным элементом position: вы можете вычесть значение scrollTop()
документа из фиксированного элемента offset().top
значение. Пример: $("#el").offset().top - $(document).scrollTop()
Если родителем смещения элемента position:fixed
является документ , вместо него нужно прочитать parseInt($.css('top'))
.