Реализация усовершенствованного поиска
Реализация усовершенствованного поиска
Что ж, все, что нам нужно знать о свободно позиционируемых элементах, мы рассмотрели. Настала пора практических занятий.
В главе 20 мы реализовали на нашем Web-сайте систему поиска. Получилось, мягко говоря, не очень профессионально, о чем уже говорилось в начале этой главы. Давайте улучшим ситуацию.
Прежде всего, мы создадим новый контейнер, дадим ему имя csearch и поместим в него Web-форму поиска. В этот же контейнер, ниже Web-формы, мы вставим список, в котором будут выводиться результаты поиска. (Результаты мы будем формировать в виде пунктов списка, содержащих гиперссылки на найденные Web- страницы, — как и в главе 20.) Дадим этому списку имя search_result и сделаем его изначально скрытым.
Когда посетитель выполнит поиск, мы проверим, присутствуют ли в списке search_result какие-либо пункты (т. е. выполнялся ли поиск ранее и был ли он удачным), и, если присутствуют, удалим их и скроем этот список. Если поиск увенчался успехом, мы сформируем в списке search_result пункты, содержащие гиперссылки на найденные Web-страницы, и откроем его. Таким образом, список search_result будет присутствовать на экране только в случае успешного поиска.
Когда посетитель щелкнет на любом месте Web-страницы (неважно — на гиперссылке, в том числе и гиперссылке в списке результатов поиска, на абзаце, на изображении или вообще на пустом месте), мы должны скрыть список search_result. Это нужно для того, чтобы этот список не присутствовал на экране постоянно и не мешал посетителю.
В остальном новый поиск будет работать так же, как и старый.
Создание контейнера с Web-формой поиска
Откроем Web-страницу index.htm в Блокноте, найдем созданный в главе 20 фрагмент кода, создающий Web-форму поиска, и удалим его. Вместо него мы вставим сразу после открывающего тега <BODY> код, приведенный в листинге 21.4.
Листинг 21.4
<DIV ID="csearch">
<FORM ACTION="#">
<P>
<INPUT TYPE="search" ID="keyword" NAME="keyword" SIZE="20">
<INPUT TYPE="button" ID="find" NAME="find" VALUE="Искать!"><BR>
<SELECT ID="search_in" NAME="search_in">
<OPTION>В названиях</OPTION>
<OPTION>В ключевых словах</OPTION>
<OPTION SELECTED>В названиях и ключевых словах</OPTION>
</SELECT>
</P>
<UL ID="search_result">
</UL>
</FORM>
</DIV>
Он создает контейнер csearch, а в нем — Web-форму поиска. В Web-форме присутствуют те же элементы управления: поле ввода искомого слова, кнопка запуска поиска и раскрывающийся список для выбора режима поиска. Ниже Web-формы мы поместили список search_result, в котором будут выводиться результаты поиска.
Далее нам нужно задать стиль для только что созданного контейнера csearch, который сделает его свободно позиционируемым. Откроем таблицу стилей main.css в Блокноте и добавим в нее CSS-код, приведенный в листинге 21.5.
Листинг 21.5
#csearch { background-color: #F8F8F8; position: absolute;
left: 600px; top: 0px; padding: 2px; border: thin solid #B1BEC6 }
Здесь мы, собственно, делаем контейнер csearch свободно позиционируемым, задаем для него начальные координаты, внутренние отступы и рамку. Внутренние отступы будут совсем небольшими, чтобы контейнер сохранял компактность, а рамка — сплошной — пусть Web-форма поиска будет сразу заметна.
А еще мы указываем для контейнера csearch цвет фона — такой же, как у Web- страницы. Если мы этого не сделаем, фон контейнера будет прозрачным, и сквозь него станет просвечивать содержимое Web-страницы, расположенное "ниже" кон- тейнера. А это будет выглядеть очень некрасиво.
Раз уж мы правим представление Web-страницы, давайте сразу зададим стили для элементов управления и списка search_result, чтобы сделать их привлекательнее. Рассмотрим эти стили отдельно друг от друга.
Мы задаем для абзаца, в котором поместили элементы управления, и списка search_result нулевые внешние отступы, чтобы сделать контейнер csearch компактнее:
#csearch P,
#search_result { margin: 0px }
Для элементов управления назначаем размер шрифта 10 пунктов:
INPUT, SELECT { font-size: 10pt }
Дело в том, что размер шрифта по умолчанию, принятый для элементов управления, слишком мал, что понравится далеко не всем посетителям.
Убираем у пунктов списка search_result маркеры и слишком большой отступ слева, где, собственно, выводятся эти маркеры:
#search_result LI { list-style-type: none; margin-left: -40px; }
Так мы сделаем контейнер csearch еще компактнее.
На этом с Web-формой и элементами управления покончено.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКДанный текст является ознакомительным фрагментом.
Читайте также
Реализация поиска на Web-сайте
Реализация поиска на Web-сайте Теоретическая часть, посвященная Web-формам и элементам управления, закончена. Давайте попрактикуемся.Для практики мы реализуем давно задуманное — поиск на нашем Web-сайте. Поиск будет осуществляться на основе информации, хранящейся в базе
Реализация TCP/IP
Реализация TCP/IP Прежде чем перейти к описанию функционирования модулей протоколов TCP/IP, рассмотрим еще одну структуру данных, называемую управляющим блоком протокола (Protocol Control Block, PCB), который в случае TCP/IP называется Internet PCB, и представлен структурой inpcb, определенной в
Настройка поиска
Настройка поиска Параметры поиска, принятые в системе по умолчанию, позволяют находить файлы точно и быстро. Однако при необходимости вы можете изменить некоторые параметры системы поиска, сместив баланс «глубина – точность – быстрота поиска» в одну или другую
Способы поиска
Способы поиска Поиск в каталогах не представляет затруднений и интуитивно понятен. Чтобы найти в них необходимую информацию (если, конечно, она там присутствует), достаточно всего лишь обладать здравым смыслом.Пусть, к примеру, вам необходимо найти сайт газеты «Труд».
Реализация поиска на Web-сайте
Реализация поиска на Web-сайте Теоретическая часть, посвященная Web-формам и элементам управления, закончена. Давайте попрактикуемся.Для практики мы реализуем давно задуманное — поиск на нашем Web-сайте. Поиск будет осуществляться на основе информации, хранящейся в базе
Реализация усовершенствованного поиска
Реализация усовершенствованного поиска Что ж, все, что нам нужно знать о свободно позиционируемых элементах, мы рассмотрели. Настала пора практических занятий.В главе 20 мы реализовали на нашем Web-сайте систему поиска. Получилось, мягко говоря, не очень профессионально, о
Таблицы поиска
Таблицы поиска Таблицы поиска используются для поиска файлов и приложений на компьютере пользователя. Чтобы найти файл, нужно сначала задать сигнатуру файла, а затем произвести поиск. Таблицы этой группы можно использовать для поиска в реестре, в данных конфигурации
Реализация класса дерева бинарного поиска
Реализация класса дерева бинарного поиска Как обычно, дерево бинарного поиска будет реализовано в виде класса, хотя хотелось бы еще раз предупредить, что его следует использовать только в том случае, если есть уверенность, что вставляемые элементы являются в достаточной
12.5.1. Алгоритмы поиска
12.5.1. Алгоритмы поиска Тринадцать алгоритмов поиска предоставляют различные способы нахождения определенного значения в контейнере. Три алгоритма equal_range(), lower_bound() и upper_bound() выполняют ту или иную форму двоичного поиска. Они показывают, в какое место контейнера можно
Условия поиска
Условия поиска Возможность конструировать "формулы" для задания условий поиска при выборе наборов, локализации строк при изменениях и удалениях, а также применение правил для создания входных данных является фундаментальной характеристикой языка запросов. Выражения
Поле поиска
Поле поиска Помимо удаления кнопки Поиск, существует несколько возможностей настройки работы поля поиска, отображаемого в меню Пуск. Все они основаны на параметрах REG_DWORD-типа, расположенных в ветви реестра HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorer:• NoStartMenuSearchComm – если
3.5. Настройка поиска
3.5. Настройка поиска Если вы часто пользуетесь стандартным механизмом поиска операционной системы, то вам могут быть интересны некоторые уникальные возможности его
13.4.2. Программа поиска
13.4.2. Программа поиска Программа, в которой реализованы идеи предыдущего раздела, показана на рис. 13.12. Прежде, чем мы перейдем к объяснению отдельных деталей этой программы, давайте рассмотрим тот способ представления дерева поиска, который в ней используется.Существует
10.2.3. Модификаторы поиска
10.2.3. Модификаторы поиска Возможности поиска в Google не ограничиваются применением логических операторов и операторов + и — . Вы можете использовать специальные модификаторы для более эффективного поиска. Например, модификатор site позволяет задать домен, в пределах