- Создание простых web-страниц
- Создание простых страниц в редакторе Dreamweaver
- Подготовка и размещение графических изображений
- Использование таблиц для размещения данных и компоновки страниц
- Компоновка страниц с использованием фреймов
- Создание интерактивных страниц с использованием форм
- Каскадные таблицы стилей — расширение возможностей форматирования
- Создание динамических страниц
- Добавление статических и динамических эффектов
Поиск информации на странице
Если страница имеет достаточно большие размеры, то в ней можно предусмотреть поиск группы слов, отдельного слова и даже части слова. Для этого на странице нужно расположить элементы формы — тестовую строку и кнопку. Программа-сценарий, которая будет выполняться после нажатия кнопки и осуществлять поиск информации, введенной в текстовую строку, создается на базе объекта TextRange и его методов.
Пример программы поиска информации на странице
<html> <head>
<title>noncK</title>
<script>
str_t=""
function poisk()
{str=Tl.value
if (str_t!=str)
{txt=document.body.createTextRange()
str_t=str}
rezalt=txt.findText(str)
if (rezalt)
{txt.select()
txt.scrollIntoView()
txt.collapse(false)}
else
{alert("Поиск завершен")
str_t=""}
}
</script>
</head>
<body>
<p><input type="text" name="Tl" size="20">
<p><input type="button" value="Найти" name="B3" on-click=poisk()>
Текст, в котором ведется поиск.
</body>
</html>
Переменной str_t уже на этапе загрузки документа присваивается значение "пустая строка". Функция poisk() вызывается на выполнение после нажатия кнопки "Найти". Содержимое текстового поля Т1 присваивается переменной str. В операторе условного перехода сравниваются переменные str_t и str. Неравенство этих переменных означает, что поиск только начинается, и это требует выполнения операторов в фигурных скобках. В первом из них используется метод createTextRange () объекта TextRange, который создает экземпляр объекта TextRange из того объекта, к которому применяется метод. В нашем случае метод применяется к объекту body (телу документа), который является составной частью объекта document (всего документа). В результате переменной txt будет присвоено все текстовое содержимое метки <body>. Далее переменной str_t будет присвоено значение переменной str, что при повторном нажатии кнопки "Найти" для поиска того же текста, исключит выполнение этих двух операторов. Непосредственный поиск осуществляется методом findText о объекта TextRange в содержимом тек
стовой переменной txt, причем, если поиск будет успешным, переменной rezait будет присвоено значение true, в противном случае — false. Назначение следующего оператора условного перехода — выполнить группу из трех операторов только в случае успешного поиска. Во всех трех операторах используются методы объекта TextRange. В первом из них используется метод select (), который выделяет найденный фрагмент. Во втором — метод scroiiintoview (), который вызывает прокрутку документа в окне браузера таким образом, чтобы найденный фрагмент появился в окне. В третьем операторе используется метод collapse о с параметром false, который исключает из текстовой строки txt весь просмотренный текст, включая найденный фрагмент. С этого момента строка txt содержит только непросмотренную часть текста. Если после этого функция poisk() будет вызвана повторно для поиска того же фрагмента, то поиск продолжится только в непросмотренной части текста. В случае если фрагмент не был найден, будут выполняться операторы после else, т. е. появится диалоговое окно с текстом "Поиск завершен", и переменной str_t вновь будет присвоено значение "пустая строка". В случае повторного поиска он начнется с начала текста.
- Войдите на сайт для отправки комментариев