ЛУЧШИЙ САЙТ ДЛЯ РАЗРАБОТЧИКОВ
×

jQuery Tutorial

jQuery HOME jQuery Intro jQuery Get Started jQuery Syntax jQuery Selectors jQuery Events

jQuery Effects

jQuery Hide/Show jQuery Fade jQuery Slide jQuery Animate jQuery stop() jQuery Callback jQuery Chaining

jQuery HTML

jQuery Get jQuery Set jQuery Add jQuery Remove jQuery CSS Classes jQuery css() jQuery Dimensions

jQuery Traversing

jQuery Traversing jQuery Ancestors jQuery Descendants jQuery Siblings jQuery Filtering

jQuery AJAX

jQuery AJAX Intro jQuery Load jQuery Get/Post

jQuery Misc

jQuery noConflict() jQuery Filters

jQuery References

jQuery Selectors jQuery Events jQuery Effects jQuery HTML/CSS jQuery Traversing jQuery AJAX jQuery Misc jQuery Properties


jQuery Effects - Animation


Метод jQuery Animate() позволяет создавать пользовательские анимации.



jQuery

анимация jQuery-метод Animate()

Метод jQuery Animate() используется для создания пользовательских анимаций.

Синтаксис:

$(selector).animate({params},speed,callback);

Обязательный параметр params определяет свойства CSS для анимации.

Дополнительный параметр Speed указывает длительность эффекта. Он может принимать следующие значения: "медленный", "быстрый" или миллисекунды.

Необязательный параметр обратного вызова — это функция, выполняемая после завершения анимации.

В следующем примере демонстрируется простое использование метода Animate(); Он перемещает элемент <div> вправо, пока не достигнет левого свойства 250пкс:

Пример

$("button").click(function(){
    $("div").animate({left: '250px'});
}); 

По умолчанию все элементы HTML имеют статическую позицию и не могут быть перемещены.
Чтобы манипулировать позицией, не забудьте сначала установить свойство CSS position элемента на относительное, фиксированное или абсолютное!



jQuery Animate() - манипулировать несколькими свойствами

Обратите внимание, что несколько свойств могут быть анимированы в то же время:

Пример

$("button").click(function(){
    $("div").animate({
        left: '250px',
        opacity: '0.5',
        height: '150px',
        width: '150px'
    });
}); 

Можно ли манипулировать всеми свойствами CSS с помощью метода Animate()?

Да, почти! Тем не менее, есть одна важная вещь, чтобы помнить: все имена свойств должны быть на верблюдах при использовании с помощью метода Animate(): вам нужно будет написать паддинглефт вместо отступа-Left, маргинригхт вместо поля справа и так далее.

Кроме того, цветовая анимация не включена в основную библиотеку jQuery.
Если вы хотите анимировать цвет, вам нужно скачать Цвет анимации плагин от jQuery.com.


jQuery Animate() - использование относительных значений

Также можно определить относительные значения (значение затем относительно текущего значения элемента). Это делается путем ввода + = или-= перед значением:

Пример

$("button").click(function(){
    $("div").animate({
        left: '250px',
        height: '+=150px',
        width: '+=150px'
    });
}); 

jQuery Animate() - использование предварительно определенных значений

Можно даже указать значение анимации свойства как «показать», «скрыть» или «переключить»:

Пример

$("button").click(function(){
    $("div").animate({
        height: 'toggle'
    });
}); 

jQuery Animate() - использует функциональность очереди

По умолчанию jQuery поставляется с функциональностью очереди для анимаций.

Это означает, что если вы пишете несколько вызовов Animate() друг за другом, jQuery создает "внутреннюю" очередь с этими вызовами метода. Затем он запускает анимацию вызовов по одному.

Таким образом, если вы хотите выполнять различные анимации друг за другом, мы воспользуемся функциональностью Queue:

Пример 1

$("button").click(function(){
    var div = $("div");
    div.animate({height: '300px', opacity: '0.4'}, "slow");
    div.animate({width: '300px', opacity: '0.8'}, "slow");
    div.animate({height: '100px', opacity: '0.4'}, "slow");
    div.animate({width: '100px', opacity: '0.8'}, "slow");
}); 

В приведенном ниже примере сначала перемещается элемент <div> вправо, а затем увеличивается размер шрифта текста:

Пример 2

$("button").click(function(){
    var div = $("div");
    div.animate({left: '100px'}, "slow");
    div.animate({fontSize: '3em'}, "slow");
}); 

Справочник на эффекты jQuery

Для полного обзора всех эффектов jQuery, пожалуйста, перейдите на наш JQuery справка на эффект.