К содержанию
JavaScript на практике

JavaScript · jQuery · Практика

От задачи к понятному коду

Уроки JavaScript

Как организовать небольшой JavaScript-проект без лишних зависимостей

Небольшому JavaScript-проекту не всегда нужны сборщик и десятки зависимостей. Для одной страницы можно начать с нативных модулей: отдельно хранить данные и вычисления, отдельно связывать их с DOM.…

Читать статью

Фильтр списка тренировок на чистом JavaScript: разбор интерфейса

Фильтр списка можно построить без фреймворка, если разделить исходные данные, условие отбора и вывод. В примере пользователь выбирает тип тренировки, а список и число результатов обновляются вместе.…

Читать статью

Интерфейс спортивных ставок: отображение коэффициентов без вводящих в заблуждение подсказок

Интерфейс спортивных коэффициентов может вводить в заблуждение ещё до любого расчёта: яркая отметка выглядит обещанием, отсутствующее значение превращается в ноль, а старые данные выдаются за текущие. Разберём…

Читать статью

Демо рулетки на JavaScript без денег: случайность, тестирование и типичные ошибки

Учебное демо рулетки удобно для разговора о диапазонах и тестируемости. Но оно не должно изображать настоящую систему денежных игр. Здесь есть только выбор целого номера от 0…

Читать статью

Обработчики событий: когда всплытие помогает, а когда мешает

Когда внутри кнопки появляется иконка или span, обработчик с предположением «нажали ровно кнопку» может перестать работать. Всплытие позволяет слушать общий контейнер, а затем определить нужное действие. Но…

Читать статью

Переход с jQuery на современные DOM-методы на простом примере

Переход с jQuery лучше начинать с одного самостоятельного компонента. Нужно сохранить поведение, а не механически заменить каждый знак доллара. Разберём кнопку раскрытия заметки: у неё есть состояние,…

Читать статью

Форма регистрации на любительский турнир: понятная проверка полей

Форма на любительский турнир должна объяснять, какие данные нужны и что произойдёт после кнопки. Начнём с двух полей и браузерных ограничений. Пример проверяет ввод локально и ничего…

Читать статью

Как сохранить настройки интерфейса в localStorage

localStorage подходит для небольшой некритичной настройки интерфейса, если страница умеет работать и без сохранения. Покажем компактный вид с версией ключа, проверкой прочитанного значения и обработкой ошибок. Пароли,…

Читать статью

Асинхронные запросы: состояния загрузки, ошибки и повторная попытка

Сетевой запрос — это несколько возможных состояний, а не только await fetch. Страница должна отличать ожидание, пустой ответ, ошибку и готовые данные. Сделаем локальный список с повторной…

Читать статью

Адаптивная карточка события без тяжёлого фреймворка

Адаптивная карточка события должна выдерживать длинное название, увеличение текста и узкий экран. Для такого компонента не нужен тяжёлый фреймворк. В примере CSS отвечает за расположение, а JavaScript…

Читать статью