Выбор текущего (при прокрутке) элемента
Добрый день!
Делаю онлайн-читалку книги. Застрял на функции добавления закладки. Идея такова: на текущем положении полосы прокрутки выбрать элемент и его запомнить. Вот с выбором элемента, который сейчас на экране и проблема... Просьба направить, у кого есть мысли? |
Если элементы разной высоты то только поочередным опросом element.getBoundingClientRect() и проверкой входит ли его rect в видимую область (viewport).
Если элементы одинаковые по высоте, то все сводится к простой арифметике. |
Цитата:
|
Цитата:
Еще немного гугла, и получилось вот что: function inWindow(s){ var scrollLeft = $(window).scrollLeft(); var windowWidth = $(window).width(); var currentEls = $(s); var result = []; currentEls.each(function(){ var el = $(this); var offset = el.offset(); if(scrollLeft <= offset.left && (el.width() + offset.left) < (scrollLeft + windowWidth)) result.push(this); }); return $(result); } |
Часовой пояс GMT +3, время: 16:39. |