offsetTop
получает позицию элемента на странице (относительно offsetParent, который является любым позиционированным элементом или иногда некоторыми другими типами элементов) в пикселях в виде числа.
style.top
получает строковое значение свойства top
в style="top: 500px"
только для встроенных атрибутов .
Если вы хотите получить значение стиля top
, которое было установлено из таблицы стилей, вы не можете использовать style.top
, который просто вернет ''
, чтобы сообщить вам, что top
не было установлено в style
атрибут. Вместо этого есть window.getComputedStyle
, который определяется стилем DOM Level 2, и element.currentStyle
, который используется IE. (Старые браузеры также не поддерживают.)
var top= (window.getComputedStyle?
window.getComputedStyle(element, null).getPropertyValue('top') :
element.currentStyle? element.currentStyle.top : '0'
);
Обычно есть лучшие способы, которые не включают в себя попытки чтения таблиц стилей.