Spec-Zone.ru › Web APIs

SVGAnimatedPreserveAspectRatio: свойство animVal

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

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

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

Свойство animVal только для чтения интерфейса SVGAnimatedPreserveAspectRatio представляет значение атрибута preserveAspectRatio SVG-элемента после применения любых анимаций или преобразований.

Значение

Объект SVGPreserveAspectRatio.

Примеры

Рассмотрим следующий SVG:

<svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg">
  <image
    id="myImage"
    href="crows.jpg"
    width="50"
    height="50"
    preserveAspectRatio="xMinYMin meet">
    <animate
      attributeName="preserveAspectRatio"
      from="xMinYMin meet"
      to="xMaxYMax slice"
      dur="5s"
      fill="freeze"
      repeatCount="1" />
  </image>
</svg>

Этот пример определяет элемент <image>, который анимирует свой атрибут preserveAspectRatio. Анимация выполняется один раз и устанавливает атрибут fill в "freeze", поэтому эффект анимации сохраняется после завершения анимации.

Мы выполняем следующий код сразу при загрузке страницы:

const image = document.querySelector("#myImage");
const baseVal = image.preserveAspectRatio.baseVal;
const animVal = image.preserveAspectRatio.animVal;

console.log(baseVal.meetOrSlice); // Output: 1 (SVG_MEETORSLICE_MEET)
console.log(animVal.meetOrSlice); // Output: 1 (SVG_MEETORSLICE_MEET)

Если мы выведем значения animVal.meetOrSlice и baseVal.meetOrSlice снова после завершения анимации, мы увидим следующее:

console.log(baseVal.meetOrSlice); // Output: 1 (SVG_MEETORSLICE_MEET)
console.log(animVal.meetOrSlice); // Output: 2 (SVG_MEETORSLICE_SLICE)

Обратите внимание, что если мы установим fill в "remove" (или удалим fill полностью, так как "remove" является значением по умолчанию), то эффекты анимации будут удалены по завершении анимации, и animVal.meetOrSlice вернется к 1.

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

Спецификация
Scalable Vector Graphics (SVG) 2
# __svg__SVGAnimatedPreserveAspectRatio__animVal

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

Рабочий стол Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на iOS Samsung Internet WebView Android
animVal 5 12 22 ≤12.1 6 18 22 ≤12.1 6 1.0 4.4

См. также

  • SVGPreserveAspectRatio
  • SVGElement

© 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/SVGAnimatedPreserveAspectRatio/animVal

Spec-Zone.ru

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