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