Объект конфигурации Lottie Web задаёт параметры инициализации
анимации, управляя источником данных, способом рендеринга, поведением
воспроизведения и настройками визуализации. Он передаётся в функцию
lottie.loadAnimation и определяет всю базовую среду
выполнения анимации.
Контейнер определяет DOM-элемент, в который будет внедрена анимация.
Внутри него создаётся либо <svg>, либо
<canvas>, либо HTML-структура в зависимости от
выбранного рендерера.
Ключевые особенности:
container: document.getElementById('animation')
Параметр определяет механизм отрисовки анимации. Lottie Web поддерживает несколько типов рендеринга, каждый из которых влияет на производительность и качество.
Основные значения:
svg — векторная отрисовка, высокая чёткостьcanvas — растровая отрисовка через Canvas APIhtml — DOM-элементы (редко используется)Выбор рендерера влияет на:
renderer: 'svg'
Параметр управления повторением анимации определяет, будет ли проигрывание цикличным. Может принимать логическое значение или число.
Варианты поведения:
true — бесконечный циклfalse — однократное воспроизведениеПри числовом значении внутренний счётчик уменьшает количество циклов до остановки.
loop: true
Определяет автоматический старт анимации после загрузки данных. При включённом значении проигрывание начинается без внешнего вызова методов управления.
Поведение:
true — запуск сразу после инициализацииfalse — ожидание ручного запуска через APIautoplay: false
Содержит JSON-структуру анимации, экспортированную из Adobe After Effects через Bodymovin. Этот объект полностью описывает сцену, слои, ключевые кадры и эффекты.
Особенности:
Структура включает:
layers — слои композицииassets — внешние ресурсыfr — частота кадровw, h — размеры композицииanimationData: myAnimationJson
Определяет URL к JSON-файлу анимации. Используется вместо
animationData, когда требуется загрузка из внешнего
источника.
Характеристики:
path: '/animations/loading.json'
Идентификатор экземпляра анимации. Используется для управления несколькими анимациями в одном окружении через глобальный объект управления.
Свойства:
name: 'preloaderAnimation'
Набор параметров, влияющих на поведение конкретного рендерера. Структура зависит от выбранного режима отрисовки.
Определяет сохранение пропорций при масштабировании SVG-контента. Управляет тем, как анимация вписывается в контейнер.
Основные режимы:
xMidYMid meet — сохранение пропорций с вписываниемxMinYMin slice — заполнение с обрезкойrendererSettings: {
preserveAspectRatio: 'xMidYMid meet'
}
Используется в canvas-рендерере для очистки холста перед каждым кадром. Влияет на производительность и визуальные артефакты.
true — полная очистка перед рендеромfalse — накопительный режим отрисовкиОптимизация загрузки сложных анимаций. Позволяет отображать элементы постепенно по мере готовности данных.
Управляет видимостью canvas при полной прозрачности слоя.
true — скрытие элемента при прозрачностиfalse — сохранение DOM-узла в потокеДобавляет CSS-класс к корневому элементу рендера. Используется для стилизации и интеграции в дизайн-системы.
className: 'lottie-player'
Позволяет задать диапазон кадров для воспроизведения. Используется для запуска части анимации без изменения исходного JSON.
Формат:
[startFrame, endFrame]Особенности:
initialSegment: [0, 60]
Переопределяет базовый путь для внешних ресурсов, используемых внутри анимации. Применяется при наличии изображений или вложенных ассетов.
Характеристики:
assetsPath: '/static/lottie/assets/'
Конфигурация может учитывать особенности временной шкалы, задаваемой через данные анимации. Хотя напрямую не всегда указывается в конфиге, взаимодействие происходит через параметры управления.
Основные элементы временной модели:
fr)Эти параметры определяют синхронизацию и плавность переходов между ключевыми состояниями.
Конфигурационный объект используется только на этапе инициализации, после чего формируется экземпляр анимации. Последующие изменения выполняются через API, но не через повторную передачу конфигурации.
Поведение после создания:
container остаётся фиксированнымrenderer не изменяетсяanimationData не пересобираетсяlottie.loadAnimation({
container: document.getElementById('animation'),
renderer: 'svg',
loop: true,
autoplay: true,
name: 'mainAnimation',
path: '/animations/data.json',
rendererSettings: {
preserveAspectRatio: 'xMidYMid meet'
}
})