Spec-Zone.ru › Web APIs

Анимация: свойство currentTime

Базовая Широко доступна

Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с марта 2020 года.

  • Узнать больше
  • Полная совместимость
  • Отправить отзыв

Свойство Animation.currentTime API веб-анимаций возвращает и устанавливает текущее значение времени анимации в миллисекундах, будь то анимация запущена или приостановлена.

Если анимация не имеет timeline, неактивна или еще не была воспроизведена, значение currentTime равно null.

Значение

Число, представляющее текущее время в миллисекундах, или null для отключения анимации.

Примеры

В игре «Выпей меня/Съешь меня» (Drink Me/Eat Me) высота Алисы анимируется, чтобы она могла изменяться с маленькой на большую или с большой на маленькую. В начале игры ее высота устанавливается между двумя крайними значениями путем установки currentTime анимации Алисы в половину от KeyframeEffect ее продолжительности:

aliceChange.currentTime = aliceChange.effect.timing.duration / 2;

Более общий способ перехода к 50%-й метке анимации:

animation.currentTime =
  animation.effect.getComputedTiming().delay +
  animation.effect.getComputedTiming().activeDuration / 2;

Уменьшенная точность времени

Чтобы защититься от атак на время и отслеживания, точность animation.currentTime может быть округлено в зависимости от настроек браузера. В Firefox предпочтение privacy.reduceTimerPrecision включено по умолчанию и по умолчанию равно 2 мс. Также можно включить privacy.resistFingerprinting, в этом случае точность будет 100 мс или значение privacy.resistFingerprinting.reduceTimerPrecision.microseconds, что больше.

Например, при уменьшенной точности времени результат animation.currentTime всегда будет кратен 0,002 или кратен 0,1 (или privacy.resistFingerprinting.reduceTimerPrecision.microseconds) с включенным privacy.resistFingerprinting.

// reduced time precision (2ms) in Firefox 60
animation.currentTime;
// Might be:
// 23.404
// 24.192
// 25.514
// …

// reduced time precision with `privacy.resistFingerprinting` enabled
animation.currentTime;
// Might be:
// 49.8
// 50.6
// 51.7
// …

Спецификации

Спецификация
Web Animations
# dom-animation-currenttime

Совместимость с браузерами

Рабочие столы Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на iOS Samsung Internet WebView Android
currentTime 75 79 48 62 13.1 75 48 54 13.4 11.0 75

См. также

  • Animation для других методов и свойств, которые вы можете использовать для управления анимацией веб-страницы.
  • Animation.startTime для времени, на которое запланировано начало анимации.
  • API веб-анимаций

© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/Animation/currentTime

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API