Scriptify.ru

Встроенного метода для определения позиции элемента относительно страницы не существует. Но ее можно определить при помощи простой функции:

var getElYOffset = function (el) {
    return el.getBoundingClientRect().top + window.pageYOffset;
}

Здесь elem.getBoundingClientRect().top определяет отступ элемента сверху относительно области просмотра (окна). window.pageYOffset показывает текущую прокрутку страницы по вертикали. Складывая эти значения, получаем позицию элемента относительно начала страницы.

Функция в действии

<div id="outer-el">
    <div id="inner-el">element</div>
</div>

<script>

var getElYOffset = function (el) {
    return el.getBoundingClientRect().top + window.pageYOffset;
}

document.body.style.margin = "0px";     

var inner = document.getElementById('inner-el');
inner.style.cssText = 'position:relative; top:1000px;';

var elYOffset = getRelativeTopOf(inner);    
window.onscroll = function () {
    console.log(elYOffset);
}
// 1000

</script>

Тоже самое можно получить при помощи jQuery

$('#el').offset().top;

Содержание статьи