Бесконечный скролл

Бесконечный скролл (ленивая подгрузка) — способ представления большого количества однородной информации, когда при открытии страницы загружается только часть контента, остальное скачивается по мере прокрутки страницы, незаметно для пользователя.

Такой интерфейс вводит пользователя в состояние потока: не нужно отвлекаться на переход между страницами, крутишь и крутишь.

Когда использовать

Используйте бесконечный скролл в новостных лентах, галереях, развлекательном контенте.

Не используйте бесконечный скролл, если пользователю может быть нужно непоследовательно перемещаться по контенту. Например, для списка документов в Диадоке больше подходит пейджинг — у пользователя есть возможность быстро перейти на несколько страниц вперед, или даже в конец списка.

Не используйте ленивую подгрузку, если ниже блока со скроллом есть другой независимый контент, за исключением стандарного подвала.

Описание работы

При открытии страницы контента должно хватить еще на 1 экран. Например, если на первый экран помещается 20 элементов, то загружаем сразу 40.

Новая порция контента подгружается заранее: за линией обреза всегда должно быть как минимум столько же контента, сколько входит на экран.

Если контент не успел загрузиться, показывается спиннер:

Полоса прокрутки на странице работает без всяких хитростей, мы не пытаемся сделать скролл такого размера, как если бы весь контент был загружен сразу. Точно и надежно сделать это не получится. Да и большой потребности в этом нет: перемещаться по огромному массиву данных с помощью скроллинга будет неудобно.

Полоса прокрутки, которой удобно пользоваться для навигации по объемному контенту, называется инфоскроллер.

Инфоскролл дорог в реализации и его уместно использовать в исключительных случаях.