Затемнение элементов при наведении на JavaScript

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

Затемнение элементов при наведении

HTML


<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>
    

CSS


.price__item {
    transition: opacity 0.3s;
}

.price__item.dimmed {
    opacity: 0.5; /* Затемнение остальных элементов */
}
    

JavaScript


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');
        });
    });
});
    

Объяснение

  1. HTML: Создаем несколько ссылок с классом price__item.
  2. CSS: Определяем стиль для затемнения элементов при добавлении класса dimmed.
  3. JavaScript:
    • Добавляем обработчик события mouseenter для каждого элемента, который затемняет другие элементы.
    • Добавляем обработчик события mouseleave, чтобы вернуть исходный стиль всем элементам, когда курсор уходит с элемента.

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

Теги:  HTML, CSS, JavaScript, затемнение, элементы, веб-разработка

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

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

от 7 дней

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

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

Перенос сайтов на «1С-Битрикс»

сайты на платформе «1С-Битрикс» — это удобство, надежность и высокая посещаемость

от 12 000 рублей
Перенос сайтов с любых CMS и статичных страниц на платформу «1С-Битрикс», с учетом дизайна, верстки и урл-адресов. С сохранением всей информации и структуры сайта.

* зависит от объема выполняемых работ.

Модули и компоненты для «1С-Битрикс»

оценка производится на основе предоставленного Технического Задания

от 20 000 рублей
Разработка дополнительных модулей для 1С-Битрикс, расширение функционала, внедрение любых решений, требующихся для выполнения ваших бизнес-задач.

* стоимость зависит от конкретной задачи, ее объема и сложности выполняемых работ.