English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Метод animate() класса jQuery

Методы эффектов jQuery

Метод animate() выполняет пользовательскую анимацию для группы свойств CSS.

Анимация позволяет создать анимацию перехода от одного CSS стиля к другому.

Все свойства анимации должны быть установлены в виде одного значения (например, ширина, высота или левый край).

Кроме строк "show", "hide" и "toggle", строковые значения не могут быть установлены для анимации (например, цвет фона). Эти значения позволяют скрывать и отображать анимированные элементы.

Свойства анимации также могут быть относительными. Если для значения предоставлен префикс += или -=, то целевое значение рассчитывается, добавляя или вычитая из текущего значения заданное количество.

Кроме стилистических свойств, анимацию можно выполнять для некоторых нестилистических свойств (например: scrollTop и scrollLeft).

Синтаксис 1:

$(selector).animate({styles}, duration, easing, callback)

Синтаксис 2:

$$(selector).animate($$styles$$, $$options$$)

Пример

Анимация элементов за счет изменения их ширины:

$("#btn1").click(function(){
  $("div").animate({width: "500px"});
});
Тестировать, чтобы увидеть‹/›

Анимация элементов за счет изменения их ширины и высоты:

$("#btn1").click(function(){
  $("div").animate({width: "500px"});
  $("div").animate({height: "400px"});
});
Тестировать, чтобы увидеть‹/›

Анимация элементов с помощью передачи нескольких стилистических свойств и значений:

$("#btn1").click(function(){
  $("div").animate({
     width:"500px",
     height:"400px"
  });
});
Тестировать, чтобы увидеть‹/›

Использование animate()ofduration и easingofПараметры:

$("button").click(function(){
  $("div").animate({width: "500px", height: "400px"}, 4000, ",linear");
});
Тестировать, чтобы увидеть‹/›

Использование animate() вместе с обратной функцией вызова:

$("button").click(function(){
  $("div").animate({
    width:"500px",
    height:"400px"
  }, 500, ",linear",
  function(){
    $(this).after("<h2>Анимация завершена</h2>");
  });
});
Тестировать, чтобы увидеть‹/›

Использование альтернативной синтаксис для指定 нескольких анимаций {styles} и {options}:

$("button").click(function(){
  $("div").animate({
    width:"500px",
    height:"400px"
  }, {
    duration:500,
    easing: ",linear",
    complete:function(){
      $(this).after("<h2>Анимация завершена</h2>");
    }
  });
});
Тестировать, чтобы увидеть‹/›

Добавить плавное прокрутка при прокрутке страницы пользователем:

let size = $(".main").height(); // Получить высоту “.main”
$(window).keydown(function(event) {
  if(event.which === 40) { // Если нажата клавиша вниз
    $("html, body").animate({scrollTop: "+=" + size}, 300);
  } else if(event.which === 38) { // Если нажата клавиша вверх
    $("html, body").animate({scrollTop: "-=" + size}, 300);
  }
});
Тестировать, чтобы увидеть‹/›

Использовать относительные значения для анимации всех абзацев:

$("p").click(function(){
  $(this).animate({
    fontSize: "+=5px",
    padding : "+=10px"
  });
});
Тестировать, чтобы увидеть‹/›

Кроме того, мы можем даже указать анимационное значение свойства “show”, “hide” или “toggle”:

$("button").click(function(){
  $("div").animate({height: "toggle"});
});
Тестировать, чтобы увидеть‹/›

Параметр значения(Грамматика 1)

$(selector).animate({styles}, duration, easing, callback)
ПараметрыОписание
stylesОбязателен. Указывает один или несколько CSS свойств/значений, вызывающих анимацию.
Внимание:При использовании с методом animate() имя свойства должно быть驼峰овым: это paddingTop вместо padding-top, marginLeft вместо margin-left и т.д.
duration(по умолчанию) Строка или число, определяющее, сколько времени будет выполняться анимация. Предустановленный значений - 400 миллисекунд

Возможные значения:

  • milliseconds (например, 100, 500, 2000 и т.д.)

  • “fast”

  • “slow”

easing(по умолчанию) Указание скорости элемента в различных точках анимации. Значение по умолчанию - “swing”.

Возможные значения:

  • “swing” - медленнее движется в начале/конце, а в середине быстрее

  • “linear” - движение с постоянной скоростью

callback(по умолчанию) Функция, которую нужно выполнить после выполнения функции animate.

Параметр значения($$Грамматика 2$$)

$$(selector).animate($$styles$$, $$options$$)
ПараметрыОписание
stylesОбязательные. Укажите один или несколько CSS-атрибутов/значений, производящих анимационный эффект (как указано выше).
options(Дополнительные параметры) Укажите дополнительные параметры анимации

Выборочные значения:

  • duration - строка или число, определяющее, как долго будет идти анимация

  • easing - строка, указывающая,哪个 функцию сглаживания использовать в транзите

  • complete - функция, вызываемая после завершения анимации

  • step - функция, вызываемая для каждого анимационного элемента для каждого анимационного свойства

  • progress - функция, выполняемая после каждого шага анимации

  • queue - булево значение, определяющее, следует ли помещать анимацию в очередь эффектов

  • specialEasing - изstylesМаппинг одного или нескольких CSS-атрибутов и соответствующих им функций сглаживания

  • start - функция, выполняемая при начале анимации

  • done - функция, выполняемая по завершении анимации

  • fail - функция, выполняемая, если анимация не может быть завершена

  • always - функция, выполняемая, если анимация остановлена, но не завершена

Методы эффектов jQuery