Ваша информация о offsetTop
неверна.From MDC :
offsetTop возвращает расстояние текущего элемента относительно вершины узла offsetParent
.
Вы не можете «переместить» источник так, как вы думаете, хотя вы можете использовать немного математики, чтобы вычислить расстояние от верхнего края элемента до нижней части экрана / страницы.Использование jQuery (для ясности, чтобы код не был испорчен кросс-браузерным обнаружением функций):
var $doc = $(document),
docHeight = $doc.height(),
$elt = $('#some-element-id'),
top = $elt.offset().top,
// this is the value you're interested in
originShiftedTop = docHeight - top;
Демо ,Попробуйте перезапустить скрипку с разными Result
значениями высоты панели.
Обратите внимание, что .offset()
в jQuery возвращает позицию элемента относительно документа , в отличие от element.offsetTop
свойство стандарта DOM.Функция jQuery .position()
ведет себя как element.offsetTop
.