Создайте калькулятор, который позволяет выполнять основные арифметические операции (сложение, вычитание, умножение, деление). Пользователь вводит два числа и выбирает операцию из выпадающего списка. Результат отображается автоматически.
Требования:
• Два текстовых поля для ввода чисел.• Выпадающий список для выбора операции.• Динамическое отображение результата при изменении любого из входных значений.Решение задачи
<div>
<input type="number" id="num1" placeholder="Введите первое число">
<select id="operation">
<option value="add">+</option>
<option value="subtract">-</option>
<option value="multiply">×</option>
<option value="divide">÷</option>
</select>
<input type="number" id="num2" placeholder="Введите второе число">
</div>
<div>
<h3>Результат: <span id="result">0</span></h3>
</div>
const num1 = document.getElementById('num1');
const num2 = document.getElementById('num2');
const operation = document.getElementById('operation');
const result = document.getElementById('result');
function calculate() {
const value1 = parseFloat(num1.value) || 0;
const value2 = parseFloat(num2.value) || 0;
let res = 0;
switch (operation.value) {
case 'add':
res = value1 + value2;
break;
case 'subtract':
res = value1 - value2;
break;
case 'multiply':
res = value1 * value2;
break;
case 'divide':
res = value2 !== 0 ? value1 / value2 : 'Ошибка (деление на 0)';
break;
}
result.textContent = res;
}
[num1, num2, operation].forEach(element => {
element.addEventListener('input', calculate);
});
Please open Telegram to view this post
VIEW IN TELEGRAM
Как правило, кнопки либо нажаты, либо нет. Но при условии, что обеспечена доступность, можно сделать группу радиокнопок внешне похожей на кнопку с несколькими состояниями с помощью CSS-хитростей.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Привет! 👋
Мы нашли канал, на котором каждый день публикуются увлекательные и полезные материалы, которые вы так долго искали!😎
Здесь вы найдёте:
• рецепты кода
• мемы
• интересные статьи и факты
• викторины
• макеты
• иконки
• полезные ссылки
И это еще не всё! Здесь много интересного!
Да-да! Всё в 1 канале!
Подписывайся скорее пока доступ не пропал!🧑💻
Мы нашли канал, на котором каждый день публикуются увлекательные и полезные материалы, которые вы так долго искали!
Здесь вы найдёте:
• рецепты кода
• мемы
• интересные статьи и факты
• викторины
• макеты
• иконки
• полезные ссылки
И это еще не всё! Здесь много интересного!
Да-да! Всё в 1 канале!
Подписывайся скорее пока доступ не пропал!
Please open Telegram to view this post
VIEW IN TELEGRAM
Fullstack TypeScript Developer [Senior]
• TypeScript, Node.js, React, SQL, Kubernetes, Docker• Уровень дохода не указан | Более 6 летFullstack Web Разработчик
• HTML, CSS, JavaScript, Laravel, Vue.js, Nuxt.js, React, TypeScript, MySQL, Redis• от 3 000 $ на руки | 3–6 летSenior FullStack-разработчик
• PHP, Laravel, Vue.js, Redis, MySQL, JavaScript• Уровень дохода не указан | 3–6 летPlease open Telegram to view this post
VIEW IN TELEGRAM
• Как сделать резюме, которое дойдёт до работодателя. Фильтры ATS в 2025 году
• Ошибайся смело: жизненные уроки из мира machine learning
• Как учиться во взрослом возрасте: 7 советов, проверенных на практике
• Нейросети, чат-бот и диджитал-адаптация: цифровые инструменты внутрикома
• Долгосрочная стабильность vs. карьерная мобильность
Please open Telegram to view this post
VIEW IN TELEGRAM
Разработчики часто сталкиваются с выбором, какие инструменты использовать для своего следующего проекта. Даже если вы серьёзно настроены на разработку продукта, проблема остаётся той же.
В этой статье я расскажу о 9 библиотеках с открытым исходным кодом, которые улучшат ваш проект.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
AbortController в JavaScript и зачем он используется?AbortController — это API, который позволяет отменять асинхронные операции, такие как запросы fetch. Это полезно для предотвращения утечек ресурсов и отмены операций, которые больше не нужны.const controller = new AbortController();
const signal = controller.signal;
// Отправляем запрос с возможностью отмены
fetch('https://jsonplaceholder.typicode.com/posts', { signal })
.then(response => response.json())
.then(data => console.log(data))
.catch(err => {
if (err.name === 'AbortError') {
console.log('Запрос был отменён');
} else {
console.error(err);
}
});
// Отмена запроса через 500 мс
setTimeout(() => controller.abort(), 500);
🗣️ В этом примере AbortController отменяет запрос через 500 мс. Это позволяет избежать обработки ненужных данных, если, например, пользователь покинул страницу или отменил действие.
Please open Telegram to view this post
VIEW IN TELEGRAM
Senior Front-End (React) разработчик
Senior Frontend Engineer
Руководитель группы разработки (Team lead)
Please open Telegram to view this post
VIEW IN TELEGRAM
Статья исследует природу цвета, его восприятие и обработку. Рассмотрим дискретизацию, цветовые модели, пространство и причины несоответствия при передаче изображений. Узнайте, что скрывается за HEX-кодами.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
🎯 Ставь цели на день через "3 приоритета"
Начал день с длинного списка задач, а к вечеру понял, что толком ничего не сделал? Это классический перегруз.
👉 Совет: каждое утро выделяй три главных задачи на день — именно те, что реально сдвинут твои дела вперёд. Всё остальное — бонусы. Такая простая фокусировка помогает делать важное, а не тонуть в рутине.
Начал день с длинного списка задач, а к вечеру понял, что толком ничего не сделал? Это классический перегруз.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
Senior Frontend Engineer
Frontend Developer
Full Stack Developer
Please open Telegram to view this post
VIEW IN TELEGRAM
Наглядный пример того, как с помощью JS API можно создавать нестандартные интерактивные карты. Яндекс Еда опубликовала исследование самых характерных блюд в городах в России и для визуализации использовала решение от API Яндекс Карт. Оно удобно тем, что позволяет легко и быстро настраивать цвета и детальность карты, убирать или добавлять нужную информацию.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Завершите функцию/метод так, чтобы он возвращал URL с чем-либо после удаления привязки (
#).Пример кода:
"www.codewars.com#about" --> "www.codewars.com"
"www.codewars.com?page=1" -->"www.codewars.com?page=1"
Решение задачи🔽
function removeUrlAnchor(url) {
return url.split('#')[0];
}
// Примеры использования
console.log(removeUrlAnchor("www.codewars.com#about ")); // " www.codewars.com "
console.log(removeUrlAnchor("www.codewars.com?page=1 ")); // " www.codewars.com?page=1 "
Please open Telegram to view this post
VIEW IN TELEGRAM
• HTML и CSS ошибки, влияющие на доступность. Мой опыт и моего незрячего знакомого Ильи. Часть 11
• Вы всё ещё устанавливаете display:none по таймауту? Тогда мы идём к вам
• Парольная защита статичной HTML-страницы на JS
• 9 open source библиотек для вашего следующего проекта
• Модули CSS раскладки — что такое и как готовить
Please open Telegram to view this post
VIEW IN TELEGRAM
Изучение новых относительных единиц измерения CSS основанных на высоте строки и позволяющих отказаться от угадывания вертикального ритма.
Смотреть…
Please open Telegram to view this post
VIEW IN TELEGRAM
Создайте кнопку, которая меняет цвет фона и добавляет лёгкую тень при наведении. При обычном состоянии кнопка должна иметь закруглённые углы и немного увеличиваться при наведении для визуального акцента.
Ожидаемое поведение:
• Основной цвет фона кнопки — синий
(#007BFF).• При наведении цвет фона становится темно-синим
(#0056b3), добавляется тень, и кнопка слегка увеличивается.Решение задачи
<button class="styled-button">Нажми меня</button>
.styled-button {
background-color:#007BFF ;
color: white;
padding: 10px 20px;
border: none;
border-radius: 8px;
cursor: pointer;
font-size: 16px;
transition: background-color 0.3s, transform 0.3s, box-shadow 0.3s;
}
.styled-button:hover {
background-color:#0056b3 ;
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
transform: scale(1.05);
}
Please open Telegram to view this post
VIEW IN TELEGRAM
Frontend-разработчик Vue
Frontend-разработчик
Frontend Developer/Программист JS
Please open Telegram to view this post
VIEW IN TELEGRAM
Сцена с стильно анимированными карточками. Сделана на CSS, SVG и JavaScript.
Открыть код...
Please open Telegram to view this post
VIEW IN TELEGRAM
clamp() в CSS и как его использовать?clamp() — это функция в CSS, которая задаёт значение с ограничениями: минимальное, предпочтительное и максимальное. Она позволяет адаптивно управлять размерами элементов или текстом, сохраняя их в заданных пределах.<div class="text">
Адаптивный размер текста
</div>
<style>
.text {
font-size: clamp(1rem, 2.5vw, 2rem); /* Минимум 1rem, максимум 2rem, предпочтение — 2.5% ширины окна */
text-align: center;
}
</style>
🗣️ В этом примере текстовый блок изменяет размер шрифта в зависимости от ширины окна, оставаясь в пределах от 1rem до 2rem. Функция clamp() упрощает создание адаптивного дизайна без сложных медиа-запросов.
Please open Telegram to view this post
VIEW IN TELEGRAM
Frontend разработчик
• JavaScript, TypeScript, React, HTML5, CSS3• от 60 000 до 160 000 ₽ на руки | Без опытаFrontend-разработчик
• TypeScript, Vue.js, Webpack, GraphQL, REST API• до 200 000 ₽ на руки | 3–6 летFrontend JS/React/TypeScript
• JavaScript, React, TypeScript, REST API, Git, Agile, DevOps, Kanban, Scrum• Уровень дохода не указан | 3–6 летPlease open Telegram to view this post
VIEW IN TELEGRAM
Анимированное выпадающее меню с переливающимся эффектом. Сделано на SCSS и TypeScript.
Открыть код...
Please open Telegram to view this post
VIEW IN TELEGRAM