ГЛАВА 21. Свободно позиционируемые элементы Web‑страницы
В предыдущей главе мы познакомились с Web‑формами и элементами управления, HTML‑тегами для их создания и средствами объектов Web‑обозревателя и библиотеки Ext Core для работы с ними. На основе этих элементов управления и базы данных мы создали систему поиска для своего Web‑сайта. Наш небольшой Web‑сайтик теперь выглядит просто шикарно!
Только вот поиск у нас вышел какой‑то корявый, больше похожий не на готовое решение, а на экспериментальный "прибамбас", который со временем переделают во что‑либо более приемлемое (или уберут совсем). Давайте сами посмотрим на него критическим взглядом.
– Контейнер с полосой навигации – не лучшее место для Web‑формы поиска. То, что она нарушает дизайн Web‑страницы, не страшно – задать для нее подходящее представление не составит для нас труда. Хуже другое – полоса навигации в какой‑то момент станет слишком большой, не поместится в контейнер, Web‑ форма "уедет" вниз, и посетителю, чтобы до нее добраться, придется пользоваться полосами прокрутки. А ведь он должен догадаться, что Web‑форма поиска еще присутствует на Web‑странице, а не пропала бесследно и невесть куда!
– Низ контейнера с основным содержимым тоже плохо подходит для размещения результатов поиска: основное содержимое может оказаться слишком большим, чтобы поместиться в контейнер полностью, и посетителю придется пользоваться полосами прокрутки, чтобы добраться до результатов поиска.
– Теперь предположим, что посетитель выполнил поиск, который оказался удачным, и в низу контейнера с основным содержимым появится список с результатами. После этого посетитель снова выполнил успешный поиск, и в низу контейнера с основным содержимым появится еще один список – с результатами нового поиска. Если повторять поиск снова и снова, будут появляться все новые списки с результатами, и так без конца.
В принципе, некоторые из перечисленных проблем можно решить известными нам средствами. Как уже говорилось, для Web‑формы мы можем создать представление, "облагораживающее" ее. Мы способны выявлять, присутствует ли уже в основном содержимом список с результатами поиска, и удалять его; для этого мы можем привязать к списку стилевой класс или дать ему имя, по которому сможем его найти.
Но куда выводить результаты поиска, чтобы посетитель сразу их увидел? Напрашивается вывод: создать на Web‑странице еще один блочный контейнер, поместить в него Web‑форму и туда же выводить результаты поиска. Но дополнительный контейнер займет определенное место на Web‑странице, может быть, слишком много места. А значит, останется меньше пространства для остальных контейнеров.
Мы можем сделать этот контейнер изначально небольшим, ровно таким, чтобы вместить только Web‑форму. Если же поиск увенчается успехом, мы увеличим размер контейнера, чтобы он вместил список с результатами. Но тогда остальные контейнеры будут "ездить" по Web‑странице туда‑сюда, чем немало развеселят посетителей. Хорошее настроение – оно, конечно, замечательно, но все равно это не выход.
Дата добавления: 2015-05-19; просмотров: 929;