SVG元素的animVal和baseVal何时不同。什么时候使用它们来获得正确的值。可以根据here读取逐字差异,但是当所有这些值都不同时,我会更加关注。任何转换或缩放都会影响它吗?
在SO here
撰写另一篇文章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。
答案 0 :(得分:13)
这些属性仅在使用SVG Animation Elements <animate>
,<set>
,<animateColor>
,<animateTransform>
或<animateMotion>
时有所不同。如您所提供的链接所示,如果未应用显式动画,则baseVal
和animVal
将相同。
在上面使用animVal
的基本原理是,在大多数情况下,它与baseVal
相同,但是动画 应用并运行的可能性很小它将代表属性的当前值,而不是过去某个时刻的值。