Добавление эффекта затенения при наведении на элемент в JavaScript

Внимание! Работает режим премодерации. Все сообщения публикуются после проверки!
Страницы: 1
Ответить
RSS
Добавление эффекта затенения при наведении на элемент в JavaScript
Затемнение элементов при наведении на JavaScript

В веб-разработке часто возникает необходимость выделять элементы  интерфейса при взаимодействии с пользователем. Один из способов сделать  это — затемнение остальных элементов при наведении курсора на один из  них. В данной статье мы рассмотрим, как это можно реализовать с помощью  HTML, CSS и JavaScript.
Изменено: Валерий Макеев - 29.09.2025 15:13:35
Полный рабочий пример, который можно вставить в один HTML-файл. Этот код затемняет все элементы с классом price__item, кроме того, на который наведён курсор, создавая эффект визуального выделения активного элемента.
Код
<!DOCTYPE html>
<html lang="ru">
<head>
    <meta charset="UTF-8">
    <title>Затемнение при наведении</title>
    <style>
        .price__item {
            display: block;
            padding: 15px;
            margin: 10px 0;
            background-color: #f0f0f0;
            text-align: center;
            text-decoration: none;
            color: #000;
            border-radius: 5px;
            transition: opacity 0.3s;
        }

        .price__item.dimmed {
            opacity: 0.5;
        }
    </style>
</head>
<body>
    <a href="#" class="price__item">Item 1</a>
    <a href="#" class="price__item">Item 2</a>
    <a href="#" class="price__item">Item 3</a>
    <a href="#" class="price__item">Item 4</a>

    <script>
        const items = document.querySelectorAll('.price__item');

        items.forEach(item => {
            item.addEventListener('mouseenter', () => {
                items.forEach(el => {
                    if (el !== item) {
                        el.classList.add('dimmed');
                    }
                });
            });

            item.addEventListener('mouseleave', () => {
                items.forEach(el => {
                    el.classList.remove('dimmed');
                });
            });
        });
    </script>
</body>
</html>
Страницы: 1
Ответить
Форма ответов
Текст сообщения*
Перетащите файлы
Ничего не найдено
Файл
Загрузить картинки
 

Стоимость услуг по разработке и сопровождению сайтов на 1C-Битрикс

Комплексное обновление проекта

обновление до последних версий, без привязки к исходной версии

от 15 000 рублей
Выполняем работы любой сложности: обновление PHP (в т.ч. до 8.4), миграция MySQL (к примеру, с 5 до 8), обновление ядра «1С-Битрикс» до последней версии, рефакторинг кода кастомных модулей и адаптация компонентов под новые стандарты.

* стоимость зависит от текущего состояния проекта, объема legacy-кода и сложности адаптации шаблона.

Интернет-магазин на готовом решении

от 7 дней

от 40 000 рублей
запуск сайта в максимально короткие сроки

* указана минимальная стоимость. Стоимость выбранной лицензии «1С-Битрикс» оплачивается отдельно.

Разработка корпоративного сайта

от 7 дней

от 40 000 рублей

Разработка сайта без системы оплаты заказов через корзину

* стоимость зависит от наличия верстки, использования готового решения и т.д.