Фильтрация большого списка изображений на одной веб-странице - без базы данных - PullRequest
1 голос
/ 16 июля 2010

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

Пользователь будет фильтровать изображенияи отображать около 8 (максимум) за раз.

Идея состоит в том, чтобы фильтровать изображения с использованием классов jQuery и CSS, чтобы показать / скрыть и т. д., но даже если все изображения скрыты, они все равно будут иметьзагружаться после открытия страницы.

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

Спасибо.

Ответы [ 2 ]

2 голосов
/ 16 июля 2010

Ой, звучит как кошмар.

Использование jQuery / CSS на самом деле ничего не ускорит, если использовать наивную реализацию show / hide, но вы должны уметь использовать Ajax для загрузки наборов изображений на лету, когда пользователь нажимает кнопка фильтра.

Другой вариант может заключаться в том, чтобы использовать XML с XSLT в качестве своего рода базы данных (это довольно ужасное решение, но спецификация тоже немного ужасна).

0 голосов
/ 16 июля 2010

Я предлагаю это:

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

это первая часть спектакля. Следующая часть самой страницы,

когда пользователь загрузит страницу, сериализованную этим списком, из кэша в объект json на клиенте.

и оттуда это просто. у вас уже есть все пути к изображениям на клиенте

Теперь вы можете создать галерею jquery или скачать ее. и каждый раз просто читайте следующие 8 изображений из объекта json. создать элемент img для каждого. и это все. очень легкий, специально для вашего сервера

:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...