Привет! В этом гайде создадим меню, которое появляется по правому клику мыши с кастомным дизайном.
Ключевые моменты:
• HTML: контейнер и список элементов меню.
• CSS: стиль меню и hover эффекты.
• JS: обработка события contextmenu и позиционирование под курсором.
Подходит для интерактивных панелей управления, редакторов и UI с кастомной логикой.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤24👍13🔥9🤝4
This media is not supported in your browser
VIEW IN TELEGRAM
Настоящая находочка для тех, кто пишет HTML, CSS, JavaScript, интересуется новинками Web API, продуктивностью и доступностью. Здесь регулярно появляются статьи, гайды и приёмы, которые реально прокачивают ваш фронтенд-скилл.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤13🔥10👍8😁1
Простой парсер погоды с выводом текущей температуры!
Напишем скрипт, который берет данные о погоде в вашем городе и выводит их в удобном виде.
Задаем функцию, которая получает данные с API Open-Meteo:
Координаты вашего города (например, Москва):
Выведем температуру и скорость ветра:
🔥 Получаем свежие данные о погоде — полезно для проектов или ботов!
📣 Code Ready | #практика
Напишем скрипт, который берет данные о погоде в вашем городе и выводит их в удобном виде.
Задаем функцию, которая получает данные с API Open-Meteo:
async function getWeather(lat, lon) {
const url = `https://api.open-meteo.com/v1/forecast?latitude=${lat}&longitude=${lon}¤t_weather=true`;
const res = await fetch(url);
return (await res.json()).current_weather;
}
Координаты вашего города (например, Москва):
const moscowCoords = [55.45, 37.37];
Выведем температуру и скорость ветра:
getWeather(...moscowCoords).then(weather => {
console.log(`Температура: ${weather.temperature}°C, Ветер: ${weather.windspeed} км/ч`);
});
🔥 Получаем свежие данные о погоде — полезно для проектов или ботов!
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥23👍19❤12
This media is not supported in your browser
VIEW IN TELEGRAM
Сначала ты осваиваешь html/css. Затем завершаешь путь с react/p5.js - создаёшь динамичные приложения с использованием хуков и событий. Каждый этап сопровождается практическими заданиями, которые помогают закрепить полученные знания.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍19🔥15❤9
Шпаргалка по ключевым приёмам обработки ошибок: try, catch, finally, создание кастомных ошибок, логирование и работа с промисами. Подойдёт для надежного кода, валидации данных и отладки сложных сценариев.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥20🤝12❤7
This media is not supported in your browser
VIEW IN TELEGRAM
CSS Peek — плагин, который позволяет просматривать стили классов прямо из HTML, не открывая отдельные файлы. Идеально, если нужно быстро понять, какие стили применяются к элементу и не искать нужное в больших проектах. Все прямо в процессе работы.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤20👍13🔥10
Создадим кастомное исключение в JS!
Давайте напишем исключение, которое будет отрабатывать при передаче в функцию изменяемый тип данных (Array или Object):
Делаем класс кастомного исключения:
Реализуем функцию с проверкой типа данных:
Проверяем работу кастомного исключения:
Результат:
🔥 Теперь вы знаете, как реализовывать кастомные исключения в JS для защиты функций и данных!
📣 Code Ready | #практика
Давайте напишем исключение, которое будет отрабатывать при передаче в функцию изменяемый тип данных (Array или Object):
Делаем класс кастомного исключения:
class MutableError extends Error {
constructor(functionName, argumentName) {
super(`"${functionName}" использует изменяемый тип данных для аргумента "${argumentName}"`);
this.name = 'MutableError';
}
}
Реализуем функцию с проверкой типа данных:
function immutableCheckFunc(data) {
if (Array.isArray(data) || (data !== null && typeof data === 'object')) {
throw new MutableError(immutableCheckFunc.name, 'data');
}
// можно добавить любую логику
}
Проверяем работу кастомного исключения:
try {
immutableCheckFunc([1, 2, 3]);
} catch (e) {
console.error(e.message);
}
Результат:
"immutableCheckFunc" использует изменяемый тип данных для аргумента "data"
🔥 Теперь вы знаете, как реализовывать кастомные исключения в JS для защиты функций и данных!
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥15👍11🤝5❤1
Хотите, чтобы абзац не просто стоял рядом с картинкой, а огибал её по кругу? Это легко осуществить с помощью чистого CSS!
Как работает:
• shape-outside: circle(); задаёт форму, вокруг которой обтекает текст.
• clip-path: circle(); обрезает сам элемент, чтобы он выглядел круглым.
• В итоге текст плавно повторяет форму круга, а не прямоугольника.
Такой приём отлично подходит для аватарок, круглых иконок или необычной вёрстки статей.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥26👍17🤝6❤1
Проверяем интернет-скорость!
Хочешь узнать, насколько быстрый у тебя интернет? Для этого есть готовый пакет
Такой скрипт можно встроить в мониторинг или просто проверить сеть без браузера.
Шаг 1 — импортируем:
Шаг 2 — запускаем тест:
Шаг 3 — форматируем и выводим результаты:
🔥 Теперь у тебя свой
📣 Code Ready | #практика
Хочешь узнать, насколько быстрый у тебя интернет? Для этого есть готовый пакет
speedtest-net
, который позволяет получить скорость загрузки, отдачи и пинга. Такой скрипт можно встроить в мониторинг или просто проверить сеть без браузера.
Шаг 1 — импортируем:
const speedTest = require('speedtest-net');
Шаг 2 — запускаем тест:
(async () => {
const res = await speedTest({ acceptLicense: true });
})();
Шаг 3 — форматируем и выводим результаты:
// Загрузка
console.log(`Download: ${(res.download.bandwidth / 125000).toFixed(2)} Mbps`);
// Выгрузка
console.log(`Upload: ${(res.upload.bandwidth / 125000).toFixed(2)} Mbps`);
// Пинг
console.log(`Ping: ${res.ping.latency} ms`);
🔥 Теперь у тебя свой
speedtest
прямо в коде. Можно запускать вручную или добавить в cron
для регулярного замера.Please open Telegram to view this post
VIEW IN TELEGRAM
🔥19❤10🤝4👍1
Тег
<ruby>
используется для аннотации иероглифов или других символов краткими пояснениями - чаще всего это чтение слов в азиатских языках. Внутри тега размещается основной текст и пояснение к нему.Как пишется:
• <rt> — текст подсказки (аннотация)
• <rp> — дополнительный текст для браузеров, не поддерживающих <ruby> (чаще всего, круглые скобки)
Поэтому, используйте
<ruby>
только для небольших фраз или слов.Please open Telegram to view this post
VIEW IN TELEGRAM
🔥21❤11👍7
2🔥12🤝9❤7👍1