API веб-анимации , впервые реализованный в Chrome 36, обеспечивает удобное управление анимацией в браузере с помощью JavaScript, а также реализуется в Gecko и WebKit.
В Chrome 50 представлены изменения, улучшающие совместимость с другими браузерами и обеспечивающие большее соответствие спецификации. Эти изменения таковы:
- Отменить мероприятия
-
Animation.id - Изменение состояния метода
pause() - Прекращение использования пунктирных имен в качестве ключей в ключевых кадрах.
В Chrome 51 некоторые из этих изменений доработаны:
- Удаление пунктирных имен в качестве ключей в ключевых кадрах
Отменить мероприятия
Интерфейс Animation включает в себя метод отмены анимации, который, как ни странно, называется cancel() . Chrome 50 реализует событие отмены при вызове метода в соответствии со спецификацией, что запускает обработку события через атрибут oncancel , если он был инициализирован.
Поддержка Animation.id
Когда вы создаете анимацию с помощью element.animate() вы можете передать ряд свойств. Например, вот пример анимации непрозрачности объекта:
element.animate([ { opacity: 1 }, { opacity: 0 } ], 500);
Если указать свойство id , оно будет установлено для возвращаемого объекта Animation , что может помочь при отладке контента, когда вам нужно иметь дело с большим количеством объектов Animation . Вот пример того, как указать id для анимации, которую вы создаете:
element.animate([{opacity: 1}, {opacity: 0}], {duration: 500, id: "foo"});
Изменение состояния метода паузы()
Метод pause() используется для приостановки текущей анимации. Если вы проверяете состояние анимации с помощью атрибута playState она должна быть установлена на paused после вызова метода paused() . В версиях Chrome до 50 атрибут playState указывал бы на idle , если бы анимация еще не началась, однако теперь он отражает правильное состояние — paused .
Удаление пунктирных имен в качестве ключей в ключевых кадрах
Для дальнейшего соответствия спец. и других реализациях, Chrome 50 отправляет предупреждение на консоль, если для ключей в анимации ключевых кадров используются пунктирные имена. Правильными строками являются имена в верблюжьем регистре, соответствующие алгоритму преобразования атрибутов CSS в IDL.
Например, свойство CSS margin-left потребует от вас передачи поля marginLeft в качестве ключа.
В Chrome 51 полностью удалена поддержка пунктирных имен, поэтому сейчас самое время исправить любой существующий контент, присвоив ему правильные имена в соответствии со спецификацией.
Краткое содержание
Эти изменения приближают реализацию веб-анимации в Chrome к реализациям других браузеров и делают ее более совместимой со спецификацией, что помогает упростить создание контента веб-страниц и улучшить совместимость.