Веб-программирование
Министерство
образования и науки Российской Федерации
Федеральное
государственное бюджетное образовательное учреждение
высшего
образования
«Владимирский
государственный университет
имени
Александра Григорьевича и Николая Григорьевича Столетовых»
(ВлГУ)
Кафедра
«Физика и прикладная математика»
Лабораторная
работа №5
по
дисциплине «Веб-программирование»
Выполнил:
ст. гр. АИСс-113
Афанасьев А.А.
Принял: Самойленко А.А.
Владимир
2016
Цель работы: освоение принципов написания
клиентских сценариев JavaScript,
управляемых событиями.
Теоретические сведения. Как отмечалось выше,
язык сценариев JavaScript
предназначен для написания приложений, работающих на стороне веб-клиента.
Поэтому основой объектной системы являются объекты, представляющие свойства
клиента и отображаемой его средствами гипертекстовой информации. Иерархия
основных объектов показана на рис.
клиентский
сценарий javascript ссылка
Необходимость в обработке событий возникает в
основном при каких-либо действиях пользователя с элементами форм, то есть с
объектами, хранящимися в массиве embeds[].
Но события могут быть связаны и с другими объектами. Например, при загрузке
страницы возникает событие onLoad,
при перемещении указателя мыши - события onMouseOver,
onMouseOut и т.д. JavaScript
на стороне клиента поддерживает несколько типов событий. В табл перечислены
обработчики событий и объекты на стороне клиента, поддерживающие эти
обработчики. Генерация некоторых событий, например двойного щелчка onDblClick,
не на всех платформах происходит корректно.
Обработчик
событий
|
Поддерживающие
объекты
|
onAbort
|
Image (JavaScript 1.1)
|
onBlur, onFocus
|
Текстовые
элементы; Window и все
остальные элементы формы (JavaScript 1.1)
|
onChange
|
Select, элементы
ввода текста
|
onClick
|
Элементы-кнопки,
Link; для
отмены действия по умолчанию нужно возвратить false
|
onDblClick
|
Document, Link, Image, элементы-кнопки
(JavaScript 1.2)
|
onError
|
Image, Window (JavaScript 1.1)
|
onKeyDown, onKeyPress, onKeyUp
|
Document, Image, Link, текстовые
элементы (JavaScript 1.2); для
отмены действия по умолчанию нужно возвратить false
|
onLoad, onUnload
|
Window; Image (JavaScript 1.1)
|
onMouseDown, onMouseUp
|
Document, Link, Image,
элементы-кнопки (JavaScript 1.2); для отмены действия по
умолчанию нужно возвратить false
|
onMouseOver, onMouseOut
|
Link; Image и Layer (JavaScript 1.2);
возвратить true для
предотвращения вывода URL
|
onReset, onSubmit
|
Form (JavaScript 1.1); для
предотвращения сброса или передачи нужно возвратить false
|
Для связи собственной функции JavaScript
с обрабатываемым событием необходимо указать ее имя в качестве значения
атрибута (которым служит название события) того дескриптора, работа которого
вызывает данное событие. Например обработку нажатия кнопки можно реализовать
строкой <INPUT
type=’button’
onClick=’MyFunction()’>.
Задание. Перед выполнением работы изучить
размещенный на учебном сервере теоретический материал, касающийся обработки
событий средствами языка сценариев JavaScript.
. В файле index.htm (см. лабораторную работу №1)
сделать ссылки на лабораторные работы в виде графических кнопок, изменяющих
свой вид при наведении на них указателя мыши (графические изображения кнопок
создать предварительно в любом графическом редакторе).
. На каждой из страниц, полученных ранее в
рамках лабораторных работ, создать навигационный элемент в виде выпадающего
списка, содержащего названия этих страниц. При выборе какого-либо из названий
должен происходить автоматический переход на соответ-ствующую страницу.
Листинг
StyleMain.css
#footer{: fixed; /* Фиксированное положение */:
0; bottom: 0; /* Левый нижний угол */: 10px; /* Поля вокруг текста */: #39b54a;
/* Цвет фона */: #fff; /* Цвет текста */: 100%; /* Ширина слоя */
}
.button
{:pointer;:block;:69px;:180px;height:60px;align:center;image:url('1.png');repeat:no-repeat;:
white;
}.cssul ul {:none;: absolute;}ul {:
#efefef;: 10px 20px;style: none;: relative;: inline-table;radius: 10px;}ul li
{: 20px 20px;}ul li:hover{: #4b545f;}ul li a{: #121212;decoration: none;
}.html
<!DOCTYPE html>
<HTML>
<HEAD>
<TITLE>
Веб программирование
</TITLE>
<link rel="stylesheet"
type="text/css" href="Лабораторная
работа
5/styleMain.css">
<script>f(e){.style.backgroundImage
= "url('Лабораторная работа
5/2.png')";
}f2(e){.style.backgroundImage =
"url('Лабораторная работа
5/1.png')";
}
</script>
</HEAD>
<BODY>
<h3>
Веб программирование<br><br>
<a href="Лабораторная
работа
1/main.html">работа
1</a><br>
<a href="Лабораторная
работа
3/index.html">работа
3</a><br>
<a href="Лабораторная
работа
4/index.html">работа
4</a><br>
<a href="">работа
5</a><br>
<a href="">работа
6</a><br>
</h3>
<div id="footer">
© Афанасьев
А.А.
гр
АИСс-113
</div>
</BODY>
</HTML>
Лаб 1.httml
<!DOCTYPE html>
<HTML>
<HEAD>
<TITLE>1</TITLE>
<meta
charset="utf-8">
<link rel="stylesheet"
type="text/css" href="../Лабораторная
работа
5/styleNavMenu.css">
<script
type="text/javascript">f(e){.getElementById('qwe').style.display="block";
}f2(){.getElementById('qwe').style.display="none";
}
</script>
</HEAD>
<BODY>
<nav>
<ul onmouseover="f();"
onmouseout="f2();">
<li><a href="">Полный
список работ</a></li>
<ul id="qwe">
<li><a
href="">Работа
1</a></li>
<li><a
href="">Работа
2</a></li>
<li><a
href="">Работа
3</a></li>
<li><a
href="">Работа
4</a></li>
<li><a
href="">Работа
5</a></li>
<li><a
href="">Работа
6</a></li>
</ul>
</ul>
</nav>
<a href="1.html">Устройства
Samsung будут активнее следить за здоровьем пользователя </a><br>
<a href="2.html">Vernee Apollo
стал одним из самых продвинутых смартфонов на рынке</a><br>
<a href="3.html">Google
тестирует систему оффлайнового распознавания речи</a><br>
<a href="4.html">Смартфоны
смогут идентифицировать владельца через наушники</a><br>
</BODY></HTML>
Скриншоты
Рисунок 1
Рисунок 2
Вывод
В ходе данной работы были освоены принципы написания
клиентских сценариев JavaScript,
управляемых событиями.