Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Определить элемент при scroll (https://javascript.ru/forum/jquery/36485-opredelit-ehlement-pri-scroll.html)

Zhazhah 16.03.2013 19:56

Определить элемент при scroll
 
Здравствуйте, есть большая wiki страница:

<div id="1" style="height:100%"></div>
<div id="2" style="height:100%"></div>
<div id="3" style="height:100%"></div>
<div id="4" style="height:100%"></div>
<div id="5" style="height:100%"></div>


Как можно получить доступ к текущему элементу прокручивая содержимое страницы?
Например сейчас я нахожусь в блоке id=2 прокрутил вниз элемент id=3

danik.js 16.03.2013 20:29

Отслеживать при скролле позицию элементов. Если размеры всех элементов постоянны, то можно по упрощенной схеме вести расчеты.

function getVisibleBlock() {
    var heights = [200, 150, 100];
    var scrollTop = window.scrollY;
    
    var y = 0;
    for (var i = 0; i < heights.length; i ++) {
        if (scrollTop < (y += heights[i])){
            break;
        }
    }
    
    return document.getElementById(i + 1);
}


Часовой пояс GMT +3, время: 01:55.