Плагины jQuery: Background-Position Animations
773

Плагины jQuery: Background-Position Animations

19 октября 2008, 17:49JavaScriptрейтинг +13-

В первой части сниппетов jQuery мы уже упоминали про использование плагина Color animations, который позволяет плавно изменять цвет элементов страницы.

Сегодня мы рассмотрим еще один плагин jQuery: Background-Position Animations, который, дает возможность анимировать положение картинки фона любого элемента.

Давайте разберем три примера использования этого плагина: кнопки, дырявые кнопки и меню.

Пример 1. Кнопки.

Для начала сделаем простую кнопку со скругленными углами

HTML:

<div class="movableBG" id="mbg1" style="background-position: -5px -130px">
<div class="left">
<div class="right">Vremenno.net</div>
</div>
</div>
CSS:
    .left
{
background: url(img/left.png) left top no-repeat;
}
.right
{
background: url(img/right.png) right top no-repeat;
padding: 0px 11px 2px 11px;

}
.movableBG
{
margin: 30px;
width: 123px;
height: 24px;
color: White;
font-size: 16px;

cursor: pointer;
}

Замечу, что для того, чтобы плагин работал корректно в FF, изначальное положение бэкграунда надо указывать inline.

Не забыв добавить jQuery и плагин, заставим эту кнопку анимироваться при наведении на нее курсора:

Javascript:

 $('#mbg1').mouseover(function()
{
$(this).stop(); $(this).animate({backgroundPosition: '(-5px -50px)'});
}).mouseout(function()
{
$(this).stop(); $(this).animate({backgroundPosition: '(-5px -130px)'});
});

Как видите, перед тем как анимировать, я запускаю функцию stop(). Эта функция останавливает анимацию для этой кнопки. А запускать ее нужно для того, чтобы при наведении на кнопку несоклько раз, предыдущая анимация останавливалась, а запускалась новая. В противном случае нам придется наблюдать, как процесс движения бэкграунда будет повторяться столько раз, сколько раз мы навели курсор на кнопку.

В этом примере я использовал много различных фоновых изображений:

и другие. Чтобы было совсем понятно смотрим пример 1.

Пример 2. Дырявые кнопки.

Подход в этом примере заключается в том, что мы создали изображение кнопки, в которой текст является вырезанным. А анимация, которая будет при этом происходить, будет касаться только этой дырявой области.

Картинка кнопки:

Картинка бэкграунда:

 

Да, с размером эллипса я, наверное, переборщил =)

Пример 3. Меню.

HTML:

 <ul class="menu" id="m1">
<li><div style="background-position: 0px 35px;">Дизайн</div></li>
<li><div style="background-position: 0px 35px;">Верстка</div></li>
<li><div style="background-position: 0px 35px;">Javascript</div></li>
<li><div style="background-position: 0px 35px;">Photoshop</div></li>
</ul

CSS:

        .menu
{
clear: both;
}
.menu li
{
cursor: pointer;
color: White;
float: left;
list-style-type: none;
background: url(img/mgrad.png) left top repeat-x;
border-left: solid 1px Silver;
margin-bottom: 40px;
}
.menu li div
{
padding: 3px 14px;
}
#m1 li div
{
background: url(img/mgrad2.png) repeat-x;

}

Javascript:

 $('#m1 li div').mouseover(function()
{
$(this).stop(); $(this).animate({backgroundPosition: '(0px 0px)'},'fast');
}).mouseout(function()
{
$(this).stop(); $(this).animate({backgroundPosition: '(0px 35px)'},'fast');
});

И, наконец, фоновые изображения:

 

Все. Высказался. А вы что думаете о таких кнопках и менюшках?

PS. Всем веселой рабочей недели =)

Memori.rumister-wong.combobrdobr.rumoemesto.rudel.icio.uszakladki.yandex.rugoogle.com/bookmarks/

Понравилась статья?

Тогда подпишись на обновления через RSS или воспользуйся
другими способами подписки.

Читать в Яндекс.Ленте Добавить в Google Добавить в Netvibes
Подписка по электронной почте
 

RSS Комментарии

Класс, спасибо за примеры, смотрится оч. эффектно )
Евгений, 20 октября 2008, 12:42
Все здорово! Только назначьте плз кодировку в примерах, у ми крокозябры выходят.
omgf, 20 октября 2008, 13:49
Спасибо, поправил.
Жека, 20 октября 2008, 14:09
Здорово!
surger, 20 октября 2008, 14:42
Отлично смотрятся дрявые кнопки. Кнопки из примера 1 раздражают миганием.
cody, 20 октября 2008, 17:13
Класс! На флеш похоже)
Виктор Б., 21 октября 2008, 10:46
Красиво. Интересно. Спасибо!
Rodriguez, 21 октября 2008, 11:03
Отличная статья. Спасибо.
drw, 21 октября 2008, 18:45
Прощай флеш менюхи
switch, 24 октября 2008, 19:59
В ИЕ более-менее нормально работает только 3-й пример. можно как-то пофиксить?
sergy, 2 ноября 2008, 10:23

Спонсоры

Wi-Fi точки в твоем городе
Profit-project.ru - заработай на своих сайтахРеклама на сайте

Блогорол