Подтвердить что ты не робот

SVG: когда использовать animVal/baseVal

Когда элементы animVal и baseVal элемента SVG отличаются. Когда это подходящее время для их использования, чтобы получить правильное значение. Стеновую разницу можно прочитать на основе здесь, но меня больше беспокоит, когда все эти значения могут отличаться. Любое преобразование или масштабирование влияет на него?

Создайте еще одну запись в SO здесь

function rectCorner(rect){
pt.x = rect.x.animVal.value + rect.width.animVal.value;
pt.y = rect.y.animVal.value + rect.height.animVal.value;
return pt.matrixTransform(rect.getTransformToElement(svg));
}

в чем смысл использования animVal здесь?

спасибо, BSR.

4b9b3361

Ответ 1

Эти свойства изменяются только при использовании элементов анимации SVG <animate>, <set>, <animateColor>, <animateTransform> или <animateMotion>. Как указано в приведенной ссылке, baseVal и animVal будут одинаковыми, если не применяется явная анимация.

Обоснование использования animVal в приведенном выше примере состоит в том, что в большинстве случаев оно будет таким же, как baseVal, но при случайном применении и запуске анимации оно будет представлять текущее значение атрибута вместо значение в какой-то момент в прошлом.

Ответ 2

hjiyiiiii6666666666666666666ff