- •Міністерство освіти і науки україни
- •Програмування для internet Посібник до виконання лабораторних робіт
- •Документы html5
- •Структура тела документа
- •Макет страницы
- •Строение тела документа
- •Отображение документа в окне браузера
- •Стили css
- •Блочные элементы
- •Основы применения стилей
- •Стили и стуктура
- •Строчные стили
- •Встроенные стили
- •Внешние файлы
- •Ссылка по любому атрибуту
- •Определение ссылок по псевдоклассам
- •Новые селекторы
- •Контрольные вопросы и задания:
- •Лабораторная работа №3 Традиционная блочная модель
- •Задание: Применить к шаблону документа, созданного в лабораторной работе №1, традиционную блочную модель. Краткие теоретические сведения
- •Универсальный селектор *
- •Новая иерархия заголовков
- •Объявление новых элементов html5
- •Выравнивание тела документа по центру
- •Создание главного блока
- •Заголовок
- •Навигационная полоса
- •Раздел и боковая врезка
- •Нижний колонтитул
- •Принцип работы гибкой блочной модели
- •Свойство display
- •Свойство box-orient
- •Свойство box-direction
- •Свойство box-ordinal-group
- •Сойство box-pack
- •Свойство box-flex
- •Свойство box-align
- •Гибкая блочная модель
- •Свойства css3
- •Свойство border-radius
- •Свойство box-shadow
- •Свойство text-shadow
- •Свойство @font-face
- •Линейный градиент
- •Радиальный градиент
- •Свойство outline
- •Свойство border-image
- •Свойства transform и transition
- •Функция transform: rotate
- •Функция transform: skew
- •Функция transform: translate
- •Одновременное использование всех видов трансформации
- •Динамические трансформации
- •Переходы
- •Лабораторная работа №6
- •Внедрение JavaScript
- •Обработчики событий
- •Воспроизведение видеои аудио с помощью html5
- •Программирование видеопроигрывателя
- •Свойства
- •Выполнение кода
- •Воспроизведение аудио с помощью html5
- •Программирование видеопроигрывателя
- •Контрольные вопросы и задания:
- •Лабораторная работа №8 Новые элементы, типы ввода и атрибуты, расширяющие функциональность форм
- •Задание: использовать новые возможности для создания форм, появившиеся в спецификации html5 и добавить их в разрабатываемый веб-сайт. Краткие теоретические сведения:
- •Атрибут multiple
- •Атрибут autofocus
- •Атрибут pattern
- •Атрибут form
- •Новые элементы форм
- •Контрольные вопросы и задания:
- •Лабораторная работа №9 Установка Apache и php. Конфигурационные файлы
- •Краткие теоретические сведения:
- •Доступ к содержимому массива
- •Использование циклов для доступа к массиву
- •Массивы с различными индексами
- •Операции для работы с массивами
- •Загрузка массивов из файлов
- •Швець н.В. Програмування для internet Посібник до виконання лабораторних робіт
- •65039, Одеса, вул. Канатна, 112
Обработчики событий
Существует три разных способа регистрации обработчика событий для элемента HTML:
можно добавить к элементу новый атрибут;
зарегистрировать обработчик как свойство элемента;
использовать новый стандартизированный метод addEventListener().
После того как был стандартизирован метод addEventListener(), данную процедуру стали называть прослушиванием события, а подготовку кода, который будет реагировать на событие, добавлением прослушивателя события к определенному элементу.
Строчные обработчики событий
Мы эту технику уже применили, когда создали атрибут onclickдля элемента <p>. Этот прием считается устаревшим, но в определенных ситуациях нередко оказывается весьма полезным.
Обработчики событий как свойства
Этот подход мы применили в коде:
<script>
function clickme(){
document.getElementsByTagName('p')[0].onclick=showalert;
}
function showalert(){
alert('you clicked me!');
}
window.onload= clickme;
</script>
Двум разным элементам были назначены обработчики событий, оформленные как свойства. Обработчик события onload был зарегистрирован для окна с помощью конструкции window.onload, а обработчик события onclick был зарегистрирован для первого элемента <p> в документе с помощью селектора getElementsByTagName в строке кода document.getElementsByTagName('p')[0].onclick.
Данный прием можно рекомендовать для обеспечения совместимости со старыми браузерами, однако в приложениях HTML5 его применять не рекомендуется.
Метод addEventListener()
Использование метода addEventListener() – идеальная техника , к тому же стандартизированная в спецификации HTML5.
Данный метод принимает три аргумента:
тип события;
исполняемую функцию;
булево значение.
<!DOCTYPE html>
<html lang="en">
<head>
<title>Javascript</title>
<script>
function clickme(){
var pelem = document.getElementsByTagName('p')[0];
pelem.addEventListener('click', showalert,false);
}
function showalert(){
alert('you clicked me!');
}
window.addEventListener('load', clickme,false);
</script>
</head>
<body>
<div id="main">
<p>Click Me</p>
<p>You Can't Click Me</p>
</div>
</body>
</html>
В нашем примере прослуштватель добавляется для каждого события с помощью метода addEventListener().
Третий атрибут, принимающий значение true или false, указывает, каким образом срабатывают множественные события. Например, мы прослушиваем событие onclick на двух вложенных элементах. Когда пользователь щелкает на этих элементах, два события click срабатывают в порядке , определяемом этим атрибутом. Если его значение для одного из элементов равно true, то считается, что событие для этого элемента произошло первым, а для другого - вторым по счету.
У addElementListener() существует огромное преимущество по сравнению с другими подходами для регистрации обработчика событий – он позволяет добавить неограниченное число прослушивателей для одного и того же элемента – это идеальная реализация для приложений HTML5.
Поскольку события – это краеугольный камень построения интерактивных сайтов и веб-приложений, в спецификации HTML5 описаны несколько полезных событий. Мы изучим каждое из них в соответствующем контексте.
Контрольные вопросы и задания:
1. Каковы задачи языка сценариев JavaScript?
2. Какие существуют способы внедрения кода JavaScript в документы HTML?
3. Какие существуют подходы для осуществления доступа к элементам документа из сценария JavaScript? Какие решения предлагаются в спецификации HTML5?
4. Какие существуют способы регистрации обработчика события? Что нового по этому вопросу предлагает HTML5?
Лабораторная работа №7
