Code Ready | Frontend – Telegram
Code Ready | Frontend
22.2K subscribers
1.08K photos
447 videos
17 files
715 links
Авторский канал по Frontend разработке.
Ресурсы, гайды, задачи, шпаргалки.
Информация ежедневно пополняется!

Автор: @energy_it

РКН: https://clck.ru/3NJCKs

Реклама на бирже: https://telega.in/c/code_ready
Download Telegram
22🔥14👍11
📱 DOM: события элементов управления и форм!

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

📣 Code Ready | #шпора
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍25🔥139🤝1
Проверяем, находится ли элемент в фокусе!

Иногда нужно понять, активен ли сейчас input, textarea или любой другой интерактивный элемент. Например, чтобы не открывать подсказки, не ловить горячие клавиши или корректно управлять UI.

Браузер хранит текущий фокус в document.activeElement:
console.log(document.activeElement);


Проверяем, сфокусирован ли конкретный элемент:
const input = document.getElementById('username');

if (document.activeElement === input) {
console.log('Поле username сейчас в фокусе!');
}


Отслеживаем смену фокуса:
document.addEventListener('focusin', (e) => {
console.log('Фокус перешёл на:', e.target);
});


Проверяем, что фокус ушёл:
document.addEventListener('focusout', (e) => {
console.log('Элемент потерял фокус:', e.target);
});


🔥 Такой подход полезен для форм, модалок, горячих клавиш, редакторов и любых интерактивных интерфейсов.

📣 Code Ready | #практика
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1411🤝9👍2
📱 Виджет выбора количества товара!

Привет! В этом гайде создаём компактный виджет для управления количеством — с кнопками «–» и «+», плавной анимацией и простой логикой работы.

Ключевые моменты:
• HTML: минимальная структура — контейнер, две кнопки и отображение текущего числа.

• CSS: скруглённые кнопки, hover-подсветка и микро-анимация изменения значения.

• JS: увеличение и уменьшение количества, защита от значений ниже единицы.


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

📣 Code Ready | #гайд
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
20👍13🔥8🤝4
This media is not supported in your browser
VIEW IN TELEGRAM
👩‍💻 Хотите открыть проект из GitHub, не скачивая его?

Remote Repositories — расширение, которое позволяет работать с репозиторием прямо в VS Code: просматривать файлы, править код, создавать коммиты и пушить изменения, без локального клона. Идеально, когда нужно быстро проверить структуру проекта или что-то поправить.

📣 Code Ready | #vscode
Please open Telegram to view this post
VIEW IN TELEGRAM
22👍11🔥11
👩‍💻 Кнопка, которая «заливается» при наведении!

Большой округлый слой поднимается снизу и покрывает элемент, создавая плавный анимационный переход. За счёт формы слоя и правильной кривой движение выглядит естественно.

Как работает:
Псевдо-элемент ::before выступает как анимируемый заливочный слой;

В обычном состоянии он находится за пределами кнопки;

При наведении слой смещается вверх и перекрывает элемент, а текст своевременно меняет цвет.


Простой приём, который добавляет интерфейсу динамику без единой строки JavaScript.

📣 Code Ready | #фишка
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍189🔥9👎1🤝1
This media is not supported in your browser
VIEW IN TELEGRAM
👩‍💻 Готовые шаблоны регулярных выражений!

Regex Snippets
— расширение, которое добавляет набор готовых шаблонов регулярных выражений: проверка email, поиск чисел, валидация пароля, извлечение групп, работа с пробелами, датами, URL и др. Пишешь короткий префикс и получаешь готовый рабочий паттерн.

📣 Code Ready | #vscode
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1713👍11😁1
Как избавиться от подмен в типографике?

Когда кастомный шрифт не успевает загрузиться, браузер подставляет свой стандартный generic sans-serif. Это может испортить вид интерфейса:
body {
font-family: "PT Sans", sans-serif;
}


Но ещё хуже, когда fallback вообще не задан, тогда интерфейс может внезапно превратиться в дефолтный serif (на Windows это часто Times New Roman):
body {
font-family: "PT Sans";
}


Современный CSS даёт более аккуратный и предсказуемый вариант, используй system-ui, чтобы браузер подставил нативный системный шрифт ОС:
body {
font-family: "PT Sans", system-ui;
}


🔥 Так даже если кастомный шрифт не загрузился, пользователь увидит чистую системную типографику - ту же, что в интерфейсе его устройства.

📣 Code Ready | #совет
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2711👍10
Отменяем старые fetch-запросы — оставляем только актуальные данные!

В поиске, автокомплите и живых фильтрах ответы от сервера могут приходить не по порядку, из-за чего показывается не самый свежий результат. Один из простых и надёжных способов избежать этого — отменять предыдущий запрос через AbortController.

Проверяем поддержку:
console.log("AbortController" in window);


Делаем контроллер и отправляем запрос:
let controller;

function load(url) {
if (controller) controller.abort();

controller = new AbortController();
return fetch(url, { signal: controller.signal });
}


Используем при вводе:
field.addEventListener("input", () => {
load("/api/search?q=" + field.value)
.then(r => r.json())
.then(data => console.log("Актуальный ответ:", data))
.catch(e => e.name === "AbortError" || console.error(e));
});


🔥 Такой приём устраняет гонки запросов, экономит сеть и гарантирует, что отображаются только последние данные — критично для поисковых полей и real-time UI.

📣 Code Ready | #практика
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥22👍11🤝81👎1
📱 Поисковая панель с динамической фильтрацией списка!

Привет! В этом гайде создаём компактную панель поиска, которая фильтрует элементы списка по мере ввода.

Ключевые моменты:
• HTML: контейнер, поле ввода и список элементов для фильтрации.

• CSS: стеклянный эффект, аккуратные тени и анимированное скрытие элементов.

• JS: обработка ввода, сравнение подстрок и переключение видимости элементов через класс hide.


Такой компонент отлично подходит для каталогов, списков технологий, фильтров настроек, интерфейсов выбора и любых UI, где требуется быстрый интерактивный поиск.

📣 Code Ready | #гайд
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3115🔥13🤝6