Как разбить растущий список на страницы?

Какой хороший способ разбить список на страницы, который постоянно растет?

Например, пользователь может открыть страницу 2 какого-либо списка, продолжать просматривать ее некоторое время, а затем открыть страницу 3. Между тем, новые записи были добавлены в начало списка (страница 1), и страница 3 содержит элементы. это могло быть на странице 2 ранее.

Должен ли такой список быть разбит на страницы с другого конца? Тогда как быть с главной страницей и тем фактом, что она без особого внимания будет содержать ОБЩЕЕ КОЛИЧЕСТВО ЭЛЕМЕНТОВ % РАЗМЕР СТРАНИЦЫ (т.е. не константа)?


person Tomas Andrle    schedule 08.10.2009    source источник


Ответы (3)


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

Я думаю, что элемент, который вам здесь не хватает, - это порядок. Если вы укажете порядок, то пользователь интуитивно поймет. Кроме того, именно так выполняется большая часть разбиения на страницы, поэтому вы не отклоняетесь от того, что на самом деле ожидает пользователь.

person Joseph    schedule 08.10.2009

Я бы добавил предупреждение, чтобы сообщить пользователю о появлении новых элементов и позволить ему обновить список. Если они решат не сохранять список в том состоянии, в котором он был, когда они нажали кнопку «Страница 2». Вы можете использовать метку времени в URL-адресе, чтобы определить, какая версия списка будет показана тому или иному пользователю.

person Andrew    schedule 08.10.2009

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

person Nikolay R    schedule 08.10.2009