О вычислении того, что показывают div: изучите алгоритм пересечения двух прямоугольников (вопрос stackoverflow Алгоритм обнаружения пересечения двух прямоугольников? является хорошей отправной точкой). При этом отображаемые div - это те, чье пересечение с «окном просмотра» не пусто .
О том, как сообщить, когда новая строка div стала видимой: в любом случае, вам, вероятно, понадобится метод updateInterface (). Используйте этот метод для отслеживания отображаемых элементов div, а когда элементы div, которые не отображались до этого, входят в окно просмотра, запускайте своего рода обработчик событий.
О реализации: у вас, вероятно, должно быть, чтобы окно просмотра было само по себе div с overflow: hidden и position: относительным. Наличие атрибута относительной позиции в CSS означает, что дочерний элемент с абсолютной позицией top 0, left 0 будет в верхнем левом краю контейнера (область просмотра, в вашем случае).
Об эффективности: в зависимости от того, как быстро ваш алгоритм «определите, какие дивы показывают» заканчивается, вы можете попытаться обработать обнаружение пересечения только тогда, когда пользователь прекращает перетаскивание, а не движение мыши. Вам также следует предварительно загрузить области непосредственно вокруг текущего окна просмотра, чтобы, если пользователь не перетащил слишком далеко, они уже были загружены.
Некоторые дальнейшие ссылки: