Создание интерактивных элементов с JavaScript

70 минут Урок 9

Введение. В этом уроке мы изучим, как создавать интерактивные элементы на веб-страницах с помощью JavaScript. Это важная составляющая разработки веб-интерфейса, которая позволяет делать наши приложения более удобными и привлекательными для пользователей.

JavaScript позволяет добавлять интерактивность: реагировать на действия пользователей, обрабатывать события и изменять элементы страницы динамически. В этом уроке мы рассмотрим основные характеристики языка, а также научимся создавать простые интерактивные элементы.

Ключевые термины
DOM
Документный объект модели — это интерфейс, который браузеры используют для взаимодействия с HTML-документом.
Событие
Изменение состояния или действия, на которое могут реагировать обработчики событий.
Функция
Блок кода, который можно вызывать многократно для выполнения определенной задачи.
Обработчик событий
Функция, которая выполняется в ответ на событие.

Основы JavaScript. Чтобы начать, нам нужно понять, как JavaScript взаимодействует с HTML. JavaScript добавляется в HTML-документ с помощью тега <script>. Вот пример кода:

html
<html>
<head>
  <title>Мой сайт</title>
  <script>
    function greet() {
      alert('Привет, мир!');
    }
  </script>
</head>
<body>
  <button onclick='greet()'>Сказать привет</button>
</body>
</html>

В приведенном примере мы создали функцию greet(), которая вызывается при нажатии на кнопку. Когда это происходит, выдается сообщение 'Привет, мир!'.

Практический сценарий: Кейс: Реакция на клики

Вы разрабатываете веб-приложение, в котором пользователи могут изменять содержимое текстового поля по нажатию кнопки.

Задание:
Создайте код, который изменяет текст в элементе с идентификатором 'output' на 'Данные обновлены!' при нажатии на кнопку.
Упражнение

Напишите функцию, которая меняет цвет фона страницы при нажатии на кнопку.

Работа со событиями. В JavaScript события — это действия, происходящие в браузере, например, нажатие клавиш, движения мыши или загрузка страницы. Чтобы реакция на событие была актуальной, необходимо правильно настроить обработчики.

Чек-лист по работе с обработчиками событий
Вопрос

Какое событие срабатывает при нажатии на кнопку?

Чтобы создать обработчик события на кнопке, можно использовать метод addEventListener. Вот пример:

javascript
document.getElementById('myButton').addEventListener('click', function() {
    alert('Кнопка нажата!');
});

В данном коде мы выбираем элемент кнопки по идентификатору и добавляем обработчик события на 'click'. Теперь при нажатии на кнопку будет появляться окно с сообщением.

Практический сценарий: Кейс: Уведомления пользователей

В вашем приложении важно информировать пользователей о важных событиях.

Задание:
Создайте обработчик, который будет уведомлять пользователя каждый раз, когда он нажимает на кнопку 'Уведомить'.
Упражнение

Создайте функцию, которая будет выводить текущее время на страницу при нажатии на кнопку.

Создание анимаций. JavaScript также позволяет добавлять анимации для создания более визуально привлекательных интерфейсов. Мы можем изменять CSS свойства элементов во времени, что дает возможность создавать плавные переходы.

javascript
const element = document.getElementById('animatedElement');
let position = 0;
const interval = setInterval(() => {
  if (position >= 100) {
    clearInterval(interval);
  }
  position++;
  element.style.left = position + 'px';
}, 10);

В этом примере мы перемещаем элемент влево по экрану, используя функцию setInterval. Каждые 10 миллисекунд мы увеличиваем позицию элемента и обновляем его стиль.

Чек-лист для анимаций