Хлопушка: конфетти из ничего

Урок 12.4 · Интерфейсы и сайты с нуля · Модуль 12. Праздник на экране · По подписке

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

Нужно знать заранее: Уроки 4.2 и 12.1

Объяснение

Зачем это нужно: Конфетти, искры, всплывающие уведомления, «плюс один» над кнопкой — всё это появляется на секунду и исчезает. Написать двадцать таких элементов в разметке можно, но они будут лежать на странице всегда, и «случайная» россыпь каждый раз окажется одинаковой. Поэтому элементы создаёт программа: она решает, сколько их, где они и какого цвета. Это первый урок курса, где разметку пишет не автор, а код.

Как это работает: createElement создаёт элемент, которого ещё нет на странице: const spark = document.createElement('span'). Пока его не поставили в документ через appendChild, он существует только в памяти. Math.random() возвращает случайное число от 0 до 1 (единицу не включает). Умножьте на 100 и округлите — получите случайный процент для left, а выражение Math.random() * 120 - 60 даёт случайное число от −60 до 60 для разлёта в стороны. Полёт делают кадры: @keyframes spark-fly описывает, каким элемент станет в конце (улетел, повернулся, растворился), а animation: spark-fly 0.9s forwards запускает это один раз и оставляет конечное состояние. Уборка — по событию animationend: когда полёт закончился, элемент больше не нужен. Без уборки после сотого нажатия на странице будут тысячи невидимых частиц, и она начнёт тормозить.

Уроки модуля 12

Что ещё есть на сайте

Учиться

  • Уроки — Все уроки трёх траекторий: список, поиск и ваш прогресс.
  • Программирование с нуля — Python с первой команды до своего проекта: 12 модулей.
  • Интерфейсы и сайты с нуля — Кнопки, страницы и мини-игры: результат виден сразу в браузере.
  • Компьютер без страха — Файлы, браузер, пароли, мошенники, документы и деньги в интернете простыми словами. Бесплатно и без оплаты.
  • Если уже случилось — Деньги ушли с карты, пропала симка, взломали аккаунт, потерялись документы — порядок действий по шагам и куда звонить.
  • Какой компьютер нужен — Чек-лист по уровням: для учёбы ничего покупать не нужно, для своего проекта — 16 ГБ и SSD, для работы — 32 ГБ. Плюс нейросети и устаревание железа.
  • Без кода: ставить задачу — Как объяснить задачу программисту и принять работу. Кода нет ни строчки.
  • Конструктор описания задачи — Собрать описание по полям и получить готовый текст для исполнителя.

С чего начать

Потренироваться

  • Практикум: задачи из жизни — Та же команда урока — на работе, дома и в документах. 63 задачи с проверкой вывода и без регистрации.
  • Игры-тренажёры — Найти ошибку в чужом коде, прочитать, что делает программа, и увидеть, что случится, если нажать клавишу.
  • Симулятор: от задания до сдачи — Пройти путь целиком: папка, терминал, файл, сохранение, запуск, проверка по критерию приёмки. Два сценария и две системы.
  • Мастерская экрана — Проверить цвета и раскладку страницы: контраст, шаблоны, конструктор.
  • Колесо фортуны — Одна прокрутка в день: скидка на подписку или дни доступа.

Словари и юмор

Сайт, оплата и помощь

  • Родителям — Возраст, время на уроки, безопасность в сообществе, деньги и результат — что важно знать до оплаты.
  • Инструкция пользователя — Как всё устроено: уроки, кабинет, уведомления, подписка, ярлык.
  • Сообщество — Вопросы и ответы: читать можно всем, писать — после входа.
  • Подписка — Тарифы, что входит, возврат 14 дней, история платежей.
  • Помощь и поддержка — Частые вопросы и форма обращения — ответ в течение дня.
  • Отзывы учеников — Что пишут те, кто уже учится: без звёзд, с проверкой каждого текста.
  • Профиль и пароль — Имя, пароль для входа без кода, уведомления, свои данные.