Метод stop в библиотеке Lottie Web используется для
принудительной остановки анимации с возвратом к начальному кадру. Он
применяется как на уровне конкретного экземпляра анимации, так и
глобально через объект lottie, влияя на все загруженные
анимации.
stopПри вызове stop происходит несколько ключевых изменений
состояния анимации:
В отличие от pause, который фиксирует текущий кадр,
stop всегда возвращает анимацию в исходное состояние.
stop от
pauseРазличие между этими методами принципиально важно для управления состояниями анимации:
pause() — фиксирует текущее положение и сохраняет
кадр;stop() — сбрасывает анимацию к началу;play() — запускает воспроизведение с текущего или
начального кадра в зависимости от состояния.Это поведение делает stop инструментом полного
перезапуска анимационного цикла.
Каждый объект, возвращаемый lottie.loadAnimation,
обладает собственным методом управления воспроизведением.
const animation = lottie.loadAnimation({
container: document.getElementById('icon'),
renderer: 'svg',
loop: true,
autoplay: true,
path: 'animation.json'
});
animation.stop();
После вызова метод переводит конкретную анимацию в начальное состояние, не затрагивая другие экземпляры.
lottie.stopБиблиотека предоставляет глобальный интерфейс управления всеми активными анимациями сразу.
lottie.stop();
В этом случае:
При использовании loop: true метод stop
прерывает цикл без ожидания завершения текущей итерации. Поведение
отличается от естественного окончания анимации:
play начинает воспроизведение с первого
кадра.stopПосле остановки анимация переходит в предсказуемое состояние:
Эти свойства могут использоваться для синхронизации интерфейсных состояний с визуальным представлением анимации.
destroy и playМетод stop часто рассматривается в контексте других
управляющих функций:
play() запускает анимацию с текущего состояния;stop() полностью возвращает в начало;destroy() удаляет анимацию и освобождает ресурсы.В отличие от destroy, остановка не разрушает
DOM-структуру и может быть отменена повторным запуском.
Если анимация ещё не завершила инициализацию, вызов stop
может быть отложен до момента готовности внутренних данных. В таких
случаях библиотека применяет вызов после построения композиции.
const animation = lottie.loadAnimation({
container: document.body,
renderer: 'svg',
path: 'data.json'
});
animation.addEventListener('DOMLoaded', () => {
animation.stop();
});
При использовании renderer: 'svg' метод
stop дополнительно:
Это важно для корректного повторного запуска сложных векторных сцен.
В рамках управления интерфейсной анимацией stop
используется в ситуациях, где требуется:
На уровне исполнения stop изменяет внутренние параметры
анимационного таймлайна:
Это обеспечивает мгновенный визуальный откат без задержек между кадрами.
При работе с методом stop важно учитывать особенности
рендеринга:
Эти различия не влияют на API, но определяют производительность и визуальную реакцию.