Показать сообщение отдельно
  #2 (permalink)  
Старый 16.03.2013, 20:29
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

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

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);
}
Ответить с цитированием