Главная Форум Файлы Статьи
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Как сделать плавное меню с анимаци
teZДата: Понедельник, 10.08.2009, 21:44 | Сообщение # 1
admin
Группа: Администраторы
Сообщений: 47
В данном уроке мы будем учиться создавать интересное меню с анимацией и красивыми эффектами.

Вступление - Объяснение термина "easing"

В нашем меню присутствует плавная анимация и все это происходит благодаря "easing". Для полного понимания данного термина обратимся к центру разработчиков Flash:

Термин "easing" означает постепенное ускорение и замедление во время анимации, что позволяет ей выглядеть более реалистично. "Easing" создает более правдоподобный вид ускорения или замедления, путем постепенной подстройки скорости изменений.

Благодаря магическому плагину jQuery Easing, у нас есть возможность использовать "Easing" за пределами Flash и Actionscript сред.

Пример"Жми сюда"

Шаг №1 - Подготовьте структуру

Прежде чем начинать работу c jQuery необходимо быстро создать структуру меню с помощью XHTML и загрузить необходимые файлы. Создайте новые XHTML, CSS и javascript документы. Я выбрал название для каждого "animated-menu". Также создайте две папки - одна для картинок, вторая для javascript. Ниже скриншот для ясности

Ничего особенного, как Вы видите. Теперь в html файле начните загружать необходимые библиотеки и внешние файлы в шапке. Я решил загрузить jQuery из архива кода от Google, а плагин "Easing" из папки "js". Порядок подгрузки файлов очень важен.

Code
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"     
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">     

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">     
<head>     
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>     
<title>Smooth Animated jQuery Menu</title>     

<link rel="stylesheet" href="animated-menu.css"/>     

<script src="http://jqueryjs.googlecode.com/files/jquery-1.3.js" type="text/javascript"></script>     
<script src="js/jquery.easing.1.3.js" type="text/javascript"></script>     
<script src="animated-menu.js" type="text/javascript"></script>     
</head>

Далее скопируйте структуру меню в тег body:
Code

<body>     
<p>Rollover a menu item to expand it.</p>     
<ul>     
<li class="green">     
<p><a href="#">Home</a></p>     
<p class="subtext">The front page</p>     
</li>     
<li class="yellow">     
<p><a href="#">About</a></p>     
<p class="subtext">More info</p>     
</li>     
<li class="red">     
<p><a href="#">Contact</a></p>     
<p class="subtext">Get in touch</p>     
</li>     
<li class="blue">     
<p><a href="#">Submit</a></p>     
<p class="subtext">Send us your stuff!</p>     
</li>     
<li class="purple">     
<p><a href="#">Terms</a></p>     
<p class="subtext">Legal things</p>     
</li>     
</ul>     
</body>     
</html>

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

Шаг № 3 - CSS

Теперь когда структура готова, давайте добавим несколько простых стилей для приведения меню в порядок. Свойство overflow должно быть hidden для каждого элемента меню. Это сделано для того, чтоб подзаголовки каждого элементы не были видны.

Code
body{     
font-family:"Lucida Grande", arial, sans-serif;     
background:#F3F3F3;     
}     

ul{     
margin:0;     
padding:0;     
}     

li{     
width:100px;     
height:50px;     
float:left;     
color:#191919;     
text-align:center;     
overflow:hidden;     
}     

a{     
color:#FFF;     
text-decoration:none;     
}     

p{     
padding:0px 5px;     
}     

.subtext{     
padding-top:15px;     
}     

/*Menu Color Classes*/     
.green{background:#6AA63B;}     
.yellow{background:#FBC700;}     
.red{background:#D52100;}     
.purple{background:#5122B4;}     
.blue{background:#0292C0;}

Шаг № 4 - Анимация с jQuery

Весь код jQuery необходимо поместить в javascript файл, который Вы создали раньше. Если Вы последовали моему примеру, то название у файла "animated-menu.js".

Code
$(document).ready(function(){     

//When mouse rolls over     
$("li").mouseover(function(){     
$(this).stop().animate({height:'150px'},{queue:false, duration:600, easing: 'easeOutBounce'})     
});     

//When mouse is removed     
$("li").mouseout(function(){     
$(this).stop().animate({height:'50px'},{queue:false, duration:600, easing: 'easeOutBounce'})     
});     

});

Код сверху описывает два действия. Когда пользователь наводит мышь на меню, его элементы начинают анимацию - растягивается до 150 пикселей за 0.6 секунд. "Easing" (подключается функцией 'easeOutBounce') заставляет меню немного попрыгать когда оно достигает конца анимации ("out"). Когда мышку с меню убирают начинается анимация, которая приводит меню в изначальный вид.

Шаг № 5 - Добавление изюминки

Я также добавил фоновые изображения к каждому элементу меню, чтоб показать вам возможности для доработки дизайна. Есть масса других креативных путей, которые могут придать Вашему меню индивидуальности. Экспериментируйте и никогда не сдавайтесь.

 
  • Страница 1 из 1
  • 1
Поиск: