В anime.js анимации управляются с помощью множества
параметров, среди которых duration и delay
играют ключевую роль. Они определяют длительность
анимации и время ожидания перед её запуском
соответственно, что позволяет точно контролировать динамику
анимационного эффекта.
Параметр duration указывает, сколько миллисекунд
будет длиться анимация от начального состояния до конечного. Он
принимает числовое значение в миллисекундах.
anime({
targets: '.box',
translateX: 250,
duration: 2000 // анимация длится 2 секунды
});
duration меньше, анимация будет происходить
быстро.duration больше, движение будет плавным и
медленным.duration не указан, anime.js
использует стандартное значение 1000 мс.Важные моменты:
duration может быть выражено в
константе (число) или в функции,
которая возвращает число для каждого элемента отдельно.anime({
targets: '.box',
translateX: 250,
duration: function(el, i) {
return 1000 + i * 500; // разная длительность для каждого элемента
}
});
Использование функции для duration позволяет создавать
сложные последовательные эффекты, где каждый объект
анимируется с разной скоростью.
Параметр delay управляет временем ожидания перед
началом анимации. Он также измеряется в миллисекундах.
anime({
targets: '.box',
translateX: 250,
delay: 500 // анимация начнётся через полсекунды
});
anime({
targets: '.box',
translateX: 250,
delay: function(el, i) {
return i * 300; // последовательный запуск с интервалом 0.3 секунды
}
});
Часто duration и delay используются вместе,
чтобы формировать сложные временные схемы анимации.
Например:
anime({
targets: '.box',
translateX: 250,
duration: 1500,
delay: function(el, i) {
return i * 200; // каждый следующий элемент начнёт анимацию позже
}
});
.box движется 1.5
секунды, но стартует с интервалом 200 мс.anime({
targets: '.circle',
scale: [0, 1],
duration: function(el, i) { return 500 + i * 300; },
delay: function(el, i) { return i * 100; },
easing: 'easeOutElastic(1, .8)'
});
duration и delay позволяет
добиться эффекта живого, «прыгающего» движения.anime({
targets: '.dot',
translateY: function() { return anime.random(-100, 100); },
duration: function() { return anime.random(500, 1500); },
delay: function() { return anime.random(0, 500); }
});
duration не слишком короткий (<300 мс редко
смотрится хорошо).delay с функцией, чтобы управлять порядком появления
элементов.duration и delay
открывает возможности для индивидуальной анимации каждого
объекта, создавая уникальный визуальный стиль.Понимание и грамотное использование duration и
delay позволяет строить точные, динамичные и
последовательные анимации, где каждый элемент ведёт себя так,
как нужно, а композиция движений остаётся управляемой и
предсказуемой.