2011-05-04 6 views
11

Cuándo difieren las variables animVal y baseVal de un elemento SVG. ¿Cuándo es el momento apropiado para usarlos para obtener el valor correcto? La diferencia textual se puede leer en base al here, pero estoy más preocupado cuando todos estos valores pueden diferir. ¿Cualquier transformación o escalado lo afecta?SVG: cuándo usar animVal/baseVal

Formulario otro puesto en el 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)); 
} 

en qué se fundamentan utilizando animVal aquí?

gracias, bsr.

Respuesta

11

Estas propiedades varían sólo cuando se utiliza el SVG Animation Elements<animate>, <set>, <animateColor>, <animateTransform>, o <animateMotion>. Como se indica en el enlace que proporcionó, baseVal y animVal serán iguales si no se aplica una animación explícita.

La justificación del uso de animVal de lo anterior es que va a ser el mismo que baseVal bajo la mayoría de circunstancias, pero en la remota posibilidad de que la animación se aplicada y ejecutarlo representará el valor actual del atributo en lugar de la valor en algún momento en el pasado.

Cuestiones relacionadas