Как создать бесконечную инвертированную прокрутку для чата?

Столкнулся с проблемой
У меня есть первоначально загруженный список сообщений в прокручиваемый блок, при прокрутке вверх, когда пользователь доходит до верха списка, идет подгрузка сообщений и они добавляются вверх чата, и тут проблема: скролл остается вверху прокручиваемой области, а не на месте , где пользователь остановился.
Коротко, как реализовать прокрутку и подгрузку сообщений как в ВК, telegram ?
  • Вопрос задан
  • 730 просмотров
Решения вопроса 1
Vlad_IT
@Vlad_IT Куратор тега JavaScript
Front-end разработчик
Самый простой вариант. Запоминаете самый первый блок до подгрузки, после подгрузки берете у этого блока позицию относительно родителя, и скроллите родителя на эту позицию.
UPD: другой способ. Вычисляете перед добавлением сообщений высоту скролл-области элемента, и после добавки сообщений, вычитываете из новой высоты скролл-области блока с сообщениями старую, и это значение и есть scrollY
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы