По сути, я пытаюсь реализовать систему, которая ведет себя аналогично панели чтения, встроенной в интерфейс Google Reader.
Если если вы его не видели, Google Reader представляет каждую статью в отдельном поле и при прокрутке выделяет текущее поле (и отмечает статью как прочитанную). В дополнение к этому, вы можете перемещаться вперед или назад по списку статей, нажимая кнопки «предыдущий» и «следующий» в пользовательском интерфейсе.
Я в основном понял, как выполнять большую часть функций. Однако я не уверен, как я могу определить, какой из моих div в настоящее время отображается на прокручиваемой панели.
У меня есть div, для которого установлено значение overflow: auto. Внутри этого div есть другие div, каждый из которых содержит часть содержимого. Я использовал следующий плагин jquery, чтобы все прокручивалось по нажатию кнопки «следующий» или «предыдущий», и он работает как шарм:
http://demos.flesler.com/jquery/serialScroll/
Но я не могу сказать, какой div имеет «фокус» на прокручиваемой панели. Я хотел бы иметь возможность сделать это по двум причинам.
Я ' Я хочу выделить элемент, который пользователь в данный момент читает (аналогично Google Reader). Мне нужно сделать это независимо от того, использовали ли они плагин для доступа или полосу прокрутки браузера.
Мне нужно указать плагину, какой элемент находится в фокусе, чтобы мой вызов для прокрутки к «следующей» панели фактически использовал текущую просматриваемую панель (а не только предыдущую панель, с которой плагин прокручивал).
Я пробовал поискать, но не могу придумать, как это сделать. Я нашел много способов прокрутки к определенному элементу, но я не могу найти способ определить, какой элемент отображается в переполненном div. Если я смогу определить, какие элементы видны, я смогу (вероятно) выяснить все остальное.
Я использую jquery, если это помогает. Спасибо!