Стандарт SVG позволяет использовать и передавать внешние SVG файлы.
У меня есть файл circle.svg
, который определяет объект окружности с id "the_circle".
Из основного файла SVG я могу включить этот круг и оживить его, используя привязку SVG.
Я также хотел бы получить доступ к одному объекту круга через javascript, как я могу это сделать?
Что такое javascript-эквивалент xlink:href="url(#the_image)#the_circle"
?
Использование document.getElementById('the_image')
Я могу получить доступ только к SVGImageElement, но не к объектам, указанным внутри включенного SVG.
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg width="100%" height="100%" version="1.1"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" >
<image
id="the_image"
x="0" y="0" width="100%" height="100%"
xlink:href="circle.svg" />
<animateTransform
xlink:href="url(#the_image)#the_circle"
attributeName="transform" attributeType="XML"
type="translate"
from="0" to="25"
dur="1s" repeatCount="indefinite"
additive="replace" fill="freeze" />
</svg>