Анимация на jQuery
jQuery позволяет легко делать динамические сайты, во многом, это благодаря отличному механизму создания анимации. Если делать подобные вещи на чистом JavaScript, то могут уйти сотни строк кода, тогда как аналогичное действие на jQuery будет написано на нескольких строчках кода. Поэтому в этой статье мы рассмотрим процесс создания анимации на jQuery.
Начнём мы с самого простого - использование простейших функций в jQuery, служащих для стандартной анимации:
<div id="block" style="background-color: #ccc; height: 200px; width: 200px;">Блок</div>
<span id="fade_out">Скрыть блок (через изменение прозрачности)</span>
<br />
<span id="fade_in">Показать блок (через изменение прозрачности)</span>
<br />
<span id="hide">Скрыть блок</span>
<br />
<span id="show">Показать блок</span>
<br />
<span id="slide_up">Скрыть блок (через изменение высоты)</span>
<br />
<span id="slide_down">Показать блок (через изменение высоты)</span>
<script type="text/javascript">
var delay = 1000; // Длительность анимации в миллисекундах
$("#fade_out").bind("click", function() {
$("#block").fadeOut(delay);
});
$("#fade_in").bind("click", function() {
$("#block").fadeIn(delay);
});
$("#hide").bind("click", function() {
$("#block").hide(delay);
});
$("#show").bind("click", function() {
$("#block").show(delay);
});
$("#slide_up").bind("click", function() {
/* В данном случае для примера я добавил функцию, которая будет запускаться после завершения анимации, аналогичная функция может быть вызвана и в других методах анимации */
$("#block").slideUp(delay, function() {
alert("Блок скрыт");
});
});
$("#slide_down").bind("click", function() {
$("#block").slideDown(delay);
});
</script>
Код очень прозрачный, и большинство анимаций, сделанных на jQuery, которые Вы видите на сайтах, создано с помощью этих уже встроенных функций.
Однако, jQuery позволяет создавать и пользовательскую анимацию:
<div id="block" style="background-color: #ccc; height: 200px; width: 200px;">Блок</div>
<span id="start">Запустить анимацию</span>
<script type="text/javascript">
var delay = 1000; // Длительность анимации в миллисекундах
$("#start").bind("click", function() {
$("#block").animate({
fontSize: "300%", // Делаем размер шрифта 300%
width: $("#block").width() * 1.1, // Увеличиваем ширину на 10%
marginLeft: "200px" // Делаем отступ 200px слева,
marginTop: "200px" // Делаем отступ 200px сверху
},
delay,
function() {alert("Анимация завершена");}
);
});
</script>
Функция animate() в jQuery запускает анимацию с заданными параметрами. 1-м параметром идут все стилевые изменения. По сути, мы тут указываем конечное состояние элемента. Второй параметр является необязательным и указывает длительность анимации. И третий параметр - это функция, которая будет вызвана сразу после завершения анимации. Данный параметр так же является необязательным.
Пожалуй, это всё, что нужно знать для создания анимации на своих сайтах с помощью jQuery. Как видите, библиотека jQuery позволяет всё это делать необычайно просто.
-
- Михаил Русаков
Комментарии (0):
Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.