Свойство transitionDuration в
библиотеке Packery управляет скоростью анимации при
перестройке элементов сетки. Оно определяет, сколько времени занимает
переход одного элемента из одного положения в другое при добавлении,
удалении или перемещении элементов.
transitionDuration принимает следующие типы
значений:
Число в миллисекундах
transitionDuration: 400
Значение 400 указывает, что анимация будет длиться 400
миллисекунд.
Строка с CSS-совместимым форматом времени
transitionDuration: '0.4s'
Можно использовать секунды (s) или миллисекунды
(ms), например '200ms' или
'1s'.
0 или '0s' для отключения
анимации Полное отсутствие анимации при перестройке
элементов:
transitionDuration: 0Packery использует transitionDuration совместно с
CSS-свойством transition для плавного перемещения
элементов. При изменении положения одного или нескольких элементов:
Если transitionDuration равен нулю, элементы
переставляются мгновенно, без анимации.
При создании экземпляра Packery свойство указывается внутри объекта опций:
var grid = document.querySelector('.grid');
var pckry = new Packery(grid, {
itemSelector: '.grid-item',
gutter: 10,
transitionDuration: '0.5s'
});
В этом примере каждый элемент сетки будет плавно перемещаться в течение 0.5 секунды при перестроении.
transitionDuration можно динамически изменять после
создания Packery:
pckry.options.transitionDuration = '1s';
pckry.layout(); // Перестроение элементов с новой длительностью
Это полезно, если требуется адаптивно менять скорость анимации в зависимости от контекста или действий пользователя.
transitionDuration делают анимацию
медленной, что может создавать эффект “торможения” интерфейса.transitionPropertyPackery применяет CSS-свойство transform для анимации
позиции элементов. Настройка transitionDuration корректно
работает с:
.grid-item {
transition-property: transform, opacity;
}
Это позволяет анимировать не только перемещение, но и прозрачность элементов при их добавлении или удалении.
Мгновенное перемещение:
var pckry = new Packery('.grid', {
itemSelector: '.grid-item',
transitionDuration: 0
});
Медленная анимация для акцентирования:
var pckry = new Packery('.grid', {
itemSelector: '.grid-item',
transitionDuration: '1s'
});
Динамическая смена скорости:
pckry.options.transitionDuration = '0.3s';
pckry.layout();
transitionDuration определяет время
анимации перестановки элементов.0 отключает анимацию.Эффективное использование transitionDuration позволяет
создавать естественные и отзывчивые сетки, при этом
управляя темпом визуальных эффектов в зависимости от задач
интерфейса.