Бесконечный скролл
Бесконечный скролл (ленивая подгрузка) — способ представления большого количества однородной информации, когда при открытии страницы загружается только часть контента, остальное скачивается по мере прокрутки страницы, незаметно для пользователя.
Такой интерфейс вводит пользователя в состояние потока: не нужно отвлекаться на переход между страницами, крутишь и крутишь.
Когда использовать
Используйте бесконечный скролл в новостных лентах, галереях, развлекательном контенте.
Не используйте бесконечный скролл, если пользователю может быть нужно непоследовательно перемещаться по контенту. Например, для списка документов в Диадоке больше подходит пейджинг — у пользователя есть возможность быстро перейти на несколько страниц вперед, или даже в конец списка.
Не используйте ленивую подгрузку, если ниже блока со скроллом есть другой независимый контент, за исключением стандарного подвала.
Описание работы
При открытии страницы контента должно хватить еще на 1 экран. Например, если на первый экран помещается 20 элементов, то загружаем сразу 40.
Новая порция контента подгружается заранее: за линией обреза всегда должно быть как минимум столько же контента, сколько входит на экран.
Если контент не успел загрузиться, показывается спиннер:
Полоса прокрутки на странице работает без всяких хитростей, мы не пытаемся сделать скролл такого размера, как если бы весь контент был загружен сразу. Точно и надежно сделать это не получится. Да и большой потребности в этом нет: перемещаться по огромному массиву данных с помощью скроллинга будет неудобно.
Полоса прокрутки, которой удобно пользоваться для навигации по объемному контенту, называется инфоскроллер.
Инфоскролл дорог в реализации и его уместно использовать в исключительных случаях.