Напишите функцию
throttle, которая ограничивает количество вызовов переданной функции. Функция должна вызываться не чаще, чем один раз в указанный временной интервал. Это полезно для оптимизации производительности, например, при обработке событий скроллинга или ресайза окна.Пример кода:
log('Hello'); // Вызовется сразу
log('World'); // Игнорируется, т.к. прошло меньше 1000msРешение задачи
function throttle(func, delay) {
let lastCall = 0;
return function(...args) {
const now = new Date().getTime();
if (now - lastCall >= delay) {
lastCall = now;
return func(...args);
}
};
}
// Примеры использования
const log = throttle(console.log, 1000);
log('Hello'); // Вызовется сразу
log('World'); // Игнорируется, т.к. прошло меньше 1000ms
setTimeout(() => log('Again'), 1500); // Вызовется через 1.5 секунды
Please open Telegram to view this post
VIEW IN TELEGRAM
Интерактивный фон с эффектом при перемещении курсора. Сделан на CSS и JavaScript.
Открыть код...
Please open Telegram to view this post
VIEW IN TELEGRAM
Верстальщик Webflow и Tilda
Senior HTML-верстальщик
Графический дизайнер-верстальщик
Дизайнер-верстальщик (гибрид)
Senior Frontend Developer (Vue.JS)
Please open Telegram to view this post
VIEW IN TELEGRAM
Если ты хочешь стать настоящим мастером API, тебе нужно знать о паттерне BFF. В этой статье рассказываем, как создавать управляемую архитектуру с использованием BFF, избегая избыточной сложности и головной боли при поддержке.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
z-index управляет тем, как элементы накладываются друг на друга в трёхмерном пространстве веб-страницы. Элементы с большим значением z-index будут отображаться поверх тех, у которых значение меньше.
z-index: 1:.element1 {
position: relative;
z-index: 1;
}
.element2 {
position: relative;
z-index: 2;
}🗣 Важно помнить, что свойство z-index работает только с элементами, у которых установлено позиционирование (position: relative, absolute, fixed или sticky).
Please open Telegram to view this post
VIEW IN TELEGRAM
Tech Lead Fullstack Developer (React.js + Node.js)
Web Tech Lead (Full stack, TsNode, Vue/React)
Tech Lead (mobile)
Tech Lead (Full stack, TsNode, Vue/React)
Tech Lead (PHP/Laravel + Vue.js)
Please open Telegram to view this post
VIEW IN TELEGRAM
Делимся пятью советами, которые помогут быстро разобраться в тонкостях работы с изображениями, переменными окружения, кэшированием и управлением компонентами в Next.js.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
В мире, где всё меняется быстрее, чем ты успеваешь обновлять резюме, держаться за одну карьерную траекторию — всё равно что пытаться угнаться за горизонтом. Умение перестраиваться, пробовать новое и брать на себя задачи, которые немного пугают, — вот что реально важно. И это не про «выйди из зоны комфорта», а про осознанный выбор расти и не цепляться за привычное.
Please open Telegram to view this post
VIEW IN TELEGRAM
HTML-верстальщик / Front-end разработчик
Учитель FrontEnd/Scratch
Frontend-разработчик
Frontend Developer Vue.js / Senior
Frontend-разработчик (React)
Please open Telegram to view this post
VIEW IN TELEGRAM
Статья рассказывает об архитектуре Inverted Triangle CSS, которая помогает масштабировать и поддерживать крупные CSS проекты. Обсуждаются причины выбора, пошаговая реализация и сравнение с другими подходами.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Создайте CSS-сетку, которая меняется в зависимости от размера экрана. Используйте CSS-переменные для задания отступов и ширины колонок, чтобы легко настраивать и менять их для разных разрешений экрана.
Решение задачи
:root {
--column-gap: 20px;
--row-gap: 20px;
--column-count: 3;
}
.container {
display: grid;
grid-template-columns: repeat(var(--column-count), 1fr);
gap: var(--row-gap) var(--column-gap);
}@media (max-width: 768px) {
:root {
--column-count: 2;
}
}@media (max-width: 480px) {
:root {
--column-count: 1;
}
}
Please open Telegram to view this post
VIEW IN TELEGRAM
• Family Frontend Meetup #3
• Полезные рецепты ручного создания SVG
• Глассморфизм и SVG
• Генеративная графика — не только ИИ
• Мощь CSS-масок
Please open Telegram to view this post
VIEW IN TELEGRAM
Первая часть статьи даёт правила для Handlebars в Superset. Далее — готовый код HTML + CSS, который можно сразу использовать, и разбор CSS-элементов с объяснениями.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Напишите разметку и стили для отображения карточек товаров в сетке. Сетка должна адаптироваться к размеру экрана: на больших экранах отображать карточки в три колонки, на планшетах — в две, а на мобильных устройствах — в одну колонку. Карточки должны иметь тень, отступы и закруглённые углы, чтобы выглядеть как отдельные блоки.
Решение задачи
<div class="product-grid">
<div class="product-card">Товар 1</div>
<div class="product-card">Товар 2</div>
<div class="product-card">Товар 3</div>
<div class="product-card">Товар 4</div>
<div class="product-card">Товар 5</div>
<div class="product-card">Товар 6</div>
</div>
/* Основной контейнер */
.product-grid {
display: grid;
gap: 20px;
padding: 20px;
}
/* Стили карточек */
.product-card {
background-color:#f9f9f9 ;
padding: 20px;
border-radius: 8px;
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
text-align: center;
}
/* Три колонки на больших экранах */@media (min-width: 1024px) {
.product-grid {
grid-template-columns: repeat(3, 1fr);
}
}
/* Две колонки на планшетах */@media (min-width: 768px) and (max-width: 1023px) {
.product-grid {
grid-template-columns: repeat(2, 1fr);
}
}
/* Одна колонка на мобильных */@media (max-width: 767px) {
.product-grid {
grid-template-columns: 1fr;
}
}
Please open Telegram to view this post
VIEW IN TELEGRAM
Full Stack JavaScript Developer (Junior/Middle)
Junior Frontend Developer
Junior React Разработчик
Frontend-разработчик (junior)
PHP-разработчик (junior/junior+) / backend / fullstack
Please open Telegram to view this post
VIEW IN TELEGRAM
Стильная карточка-портфолио с анимированными кнопками. Сделан на Svg, SCSS и JavaScript.
Открыть код...
Please open Telegram to view this post
VIEW IN TELEGRAM
object-fit в CSS?Свойство
object-fit позволяет управлять масштабированием содержимого (например, изображений или видео) внутри контейнера, не искажая его соотношение сторон. Это особенно полезно при создании адаптивных и аккуратных галерей.cover:.container {
width: 300px;
height: 200px;
overflow: hidden;
}
.container img {
width: 100%;
height: 100%;
object-fit: cover;
}🗣 Свойство object-fit помогает контролировать отображение изображений в контейнерах, не растягивая и не искажая их.
Please open Telegram to view this post
VIEW IN TELEGRAM
Frontend-разработчик Middle
Middle Frontend Developer
Javanoscript middle frontend developer
Middle frontend-разработчик
Junior+/middle frontend разработчик
Please open Telegram to view this post
VIEW IN TELEGRAM
В мире веб-разработки оптимизация времени загрузки страниц имеет решающее значение. Два мощных атрибута тега
<noscript> — async и defer — могут существенно повлиять на производительность сайта. Использование этих атрибутов без их глубокого понимания может негативно сказаться на производительности и привести к ошибкам. Давайте начнём с основ и узнаем, что делают эти атрибуты и когда их следует использовать.Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM