Основной статический метод библиотеки Lottie Web —
lottie.loadAnimation. Он создаёт и запускает экземпляр
анимации на основе JSON-данных, экспортированных из After Effects через
Bodymovin.
Метод связывает данные анимации с DOM-контейнером и запускает процесс рендеринга:
const animation = lottie.loadAnimation({
container: document.getElementById('animation'),
renderer: 'svg',
loop: true,
autoplay: true,
path: '/animations/data.json'
});
Поддерживаются три основных режима рендеринга:
svg — векторная отрисовка с высокой детализациейcanvas — растровая отрисовка через Canvas APIhtml — DOM-based рендерингАрхитектурно loadAnimation создаёт внутренний объект
AnimationItem, который инкапсулирует состояние, таймлайн и
рендер-движок.
Ключевые параметры конфигурации:
container — DOM-узел, в который монтируется
анимацияrenderer — тип движка отрисовкиloop — режим зацикливания (boolean или количество
циклов)autoplay — автоматический стартpath или animationData — источник
данныхСтатический метод lottie.setQuality управляет балансом
между производительностью и точностью отрисовки.
lottie.setQuality('high');
Допустимые значения:
low — минимальная нагрузка на CPU, упрощённая
отрисовкаmedium — компромиссный режимhigh — максимальная детализацияВнутри механизма качество влияет на:
В Canvas-режиме изменение качества может влиять на количество операций растеризации, в SVG — на глубину пересчёта path-данных.
Метод lottie.setLocationHref задаёт базовый URL для
разрешения относительных путей внутри анимации.
lottie.setLocationHref('https://example.com/app/');
Используется при наличии:
Внутренний механизм подменяет window.location.href в
логике разрешения путей, что особенно важно при работе в iframe или при
серверном рендеринге.
Метод lottie.setSubframeRendering управляет
интерполяцией между кадрами.
lottie.setSubframeRendering(true);
При включении:
При выключении:
Механизм особенно заметен при трансформациях объектов (position, scale, rotation), где интерполяция кривых Bezier играет ключевую роль.
Статический метод lottie.useWebWorker переносит часть
вычислений в отдельный поток.
lottie.useWebWorker(true);
При активации:
Ограничения:
Архитектурно используется message passing между worker и main thread с сериализацией ключевых кадров и команд рендеринга.
Статический API предоставляет доступ к управлению всеми активными анимациями через внутренний реестр.
Основные операции:
lottie.stop();
lottie.destroy();
lottie.pause();
Эти методы применяются глобально ко всем созданным экземплярам через
loadAnimation.
Поведение:
stop — сбрасывает таймлайн к начальному кадруpause — фиксирует текущее состояние без обновленияdestroy — освобождает память, удаляет DOM-связи и
слушатели событийloadAnimation поддерживает режим работы с уже
загруженным JSON:
lottie.loadAnimation({
container: element,
animationData: animationObject
});
В этом режиме отсутствует сетевой запрос, а парсинг выполняется синхронно.
Использование такого подхода влияет на:
Статические методы участвуют в управлении жизненным циклом анимации на уровне библиотеки:
loadAnimationВнутренний механизм построен вокруг централизованного менеджера анимаций, который отслеживает состояние каждого AnimationItem и синхронизирует его с глобальными параметрами библиотеки.