Hover-эффект при наведении курсора на картинку

минута на чтение

Моё версталово проходит весьма плодотворно и в этот раз я научился применять эффекты при наведении курсора на изображение, как это часто встречается на всякого рода витринах товаров. Сразу оговорюсь, что этот комплексный пример требует подключения фронт-енд-фреймворка Bootstrap и JavaScript-библиотеки jQuery.

Используя CSS-классы из Bootstrap 4 я создаю так называемую карту. Класс img-fluid элемента img означает, что размер картинки будет изменяться в зависимости от доступного на экране места. Блок класса card-img-overlay содержит то, что будет выводиться при наведении курсора.

<div class="card">
    <img src="http://cpa-master.com/logo.png" class="img-fluid card-img" alt="Альтернативный текст" />
    <div class="card-img-overlay">
        <h4 class="card-title">Заголовок картинки</h4>
        <p>Тут ещё абзац с каким-то текстом.</p>
    </div>
</div>

При загрузке страницы оверлей не должен быть видным, что мы прописываем в стилях CSS (display: none;). Кроме того, мы прописываем цвет подсветки при наведении (background: rgba(0,0,0,0.4);).

.card {
    position: relative;
    width: 400px;
}

.card-img-overlay {
    display: none;
    position: absolute;
    background: rgba(0,0,0,0.4);
    width: 100%;
    height: 100%;
    color: #fff !important;
}

Следующий код JavaScript при загрузке страницы инициализирует действия, которые будут происходить при наведении курсора на картинку. Я терпеть не могу анонимные функции, поэтому везьде передаю название функций. Функции imgTitleFadeIn и imgTitleFadeOut отвечают за появление и удаление эффекта. Обе функции прикручиваются к селектору div-блок класса карта ($('div.card')).

$(initImageHover);

function initImageHover() { 
    $('div.card').hover(imgTitleFadeIn, imgTitleFadeOut);
}

function imgTitleFadeIn() {
    $(this).find('.card-img-overlay').fadeIn(250);
}
 
function imgTitleFadeOut() {
    $(this).find('.card-img-overlay').fadeOut(250);
}

В деле всё это выглядит таким образом (наведите курсор мышки на картинку, чтобы увидеть эффект):

В конце поста предлагаю скачать этот пример и испытать на своём компьютере.

Понравился пост? Поделись в соцсетях и подписывайся на аккаунты в Twitter и Facebook!
Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

Похожие записи:

Как зашиваем ссылки в текст статей и в картинку знают не все новички. Здравствуйте друзья! В этой статье рассмотрим, как правильно зашиваем ссылки в текст статей. Рассмотрим, как вставить ссылку в картинку. Для чего нужно зашивать ссылки в текст статей. Дело в...
Сегодня при перезапуске базы данных, а перезапускал я базу данных Oracle в первый раз в жизни (в личных целях я пользуюсь практически только «мускулом» — MySQL), возникла проблема и с мыслями «наверное это надолго» я начал рыться в интернетах. К счастью, решен...
За последнее время библиотека jQuery зарекомендовала себя как простой, но мощный инструмент для управления страницами сайтов и их трансформации во всех существующих браузерах. Данная библиотека преследует две основные цели: упрощение манипулирования элементами...