2 526 Скрипты / Text

Эффект перекрытия элементов

Эффект перекрытия элементов

В сегодняшнем уроке будем делать плавный эффект перекрытия или наложения на jQuery. Идея заключается в изменении прозрачности или цвета отдельных элементов, как будто мы выполнили наложение на контент нового слоя. Это позволяет сосредоточить внимание пользователя на отдельных элементах веб-страницы, делая другие менее заметными.
Во-первых, нам необходимо определить, к каким элементам мы хотим применить тот или иной эффект, как анимация прозрачности или цвета элемента, или и то и другое. Для элементов, которые хотим затенить, назначаем класс "e-fade", которые хотим перекрасить, назначаем класс "e-color". И для любого из этих элементов, независимо от того, какой класс они используют, или оба сразу, мы должны присвоить дополнительный класс "effect".

HTML

<!-- Анимация цвета -->
<h2 class="effect e-color">Пользовательский эффект на jQuery</h2>
<!-- Анимация прозрачности -->
<h2 class="effect e-fade">Пользовательский эффект на jQuery</h2>
<!-- Анимация и цвета и прозрачности -->
<h2 class="effect e-color e-fade">Пользовательский эффект на jQuery</h2>

В нашем примере мы будем использовать меню запускающего анимацию событий. При наведении мыши на пункт меню, то к элементу будет применен тот или иной эффект. Для усиления концентрации внимания мы добавим ещё один класс для определенных элементов над которыми не будет производиться анимация. Название класса будет таким же, как и ID для одного из пунктов меню. Таким образом мы создаем связь между ними:

<ul id="menu" class="menu">
    <li><a href="#"><img src="images/1.png" alt="1"/></a></li>
    <li><a href="#"><img src="images/2.png" alt="2"/></a></li>
    <li><a href="#"><img src="images/3.png" alt="3"/></a></li>
    <li><a href="#"><img src="images/4.png" alt="4"/></a></li>
    <li><a href="#" id="effect-n"><img src="images/5.png" alt="5"/></a></li>
</ul>
...
<h3 class="effect-n">Vapour around me</h3>
Как вы наверно заметили, то последний пункт меню получит соответствующий ID, и h3 получит класс с тем же названием. Поэтому, когда мы наведем курсор мыши на пункт меню все другие элементы (у которых есть предыдущие классы эффекта) будут анимированы, кроме этого.

JS

Запустим, кешируя некоторые элементы:

var $menu            = $('#menu'),
    $container        = $('#container'),
    $content        = $container.find('.content');
Мы будем добавлять классы для эффектов используя jQuery вместо того, чтобы добавлять его в элемент HTML вручную:
$content
.find('p')
.addClass('effect e-fade')
.end()
.find('h1, h2, h3')
.addClass('effect e-fade e-color');
Теперь мы получим все элементы имеющие класс "effect" и определим функцию OverlayEffect, которая отвечает за анимацию:Вот и всё. Урок подготовлен специально для pcvector.net.
Скачать 427Загрузок 4,77 Kb
Демо

Комментарии

  • Facebook
  • Вконтакте

Похожие статьи