В библиотеке anime.js параметры анимации могут принимать различные типы данных. Понимание того, какие типы допустимы и как они интерпретируются библиотекой, критично для создания гибких и сложных анимационных эффектов.
Наиболее простым типом является число (Number). Числовые
значения используются для анимации любых свойств, которые могут быть
выражены через числа, таких как позиция, размер, прозрачность,
угол поворота.
anime({
targets: '.box',
translateX: 250, // число пикселей
opacity: 0.5,
duration: 1000
});
Строковые значения (String) применяются, когда
необходимо анимировать свойства CSS, которые включают единицы измерения
или специфические форматы, например: px, %,
deg, em.
anime({
targets: '.circle',
width: '200px',
rotate: '180deg',
duration: 1200
});
auto,
inherit и none.Для создания анимации по нескольким ключевым точкам
можно использовать массивы (Array).
anime({
targets: '.dot',
translateX: [0, 100, 50, 150],
duration: 2000
});
easing можно добиться сложных кривых
движения.Функции (Function) предоставляют динамическую генерацию
значений для каждого целевого элемента. Функция вызывается с
аргументами: элемент, индекс, массив всех
элементов.
anime({
targets: '.item',
translateY: function(el, i) {
return i * 20; // каждый элемент смещается на 20px относительно предыдущего
},
duration: 800
});
Для параметров, где требуется рандомизация или указание
диапазона, используются объекты с min и
max.
anime({
targets: '.star',
translateX: { value: () => Math.random() * 500, duration: 1000 }
});
duration,
delay, easing, что делает каждую анимацию
уникальной.Для свойств цвета (color) можно использовать
строки в формате HEX, RGB, HSL.
anime({
targets: '.text',
color: '#FF0000',
backgroundColor: 'rgb(0, 255, 0)',
duration: 1500
});
anime({
targets: '.complex',
translateX: [0, '50%', 100],
rotate: () => Math.random() * 360,
backgroundColor: ['#00F', '#0F0', '#F00'],
duration: 2000,
easing: 'easeInOutQuad'
});
Понимание типов данных параметров — ключ к эффективному использованию anime.js, позволяющему реализовывать простые и сложные анимации с высокой степенью контроля и гибкости.