Создание нового объекта SVGTransform для добавления в SVGTransformList
Я играл с Firefox 3.6 и хотел добавить перевод к элементу SVG при нажатии; у этого элемента уже были другие переводы.
var svgs = document.getElementsByTagName("svg:svg");
var group = svgs[0].childNodes[1];
group.addEventListener("click",function(e){
var group2 = group.cloneNode(true);
group2.setAttribute("transform", group2.getAttribute("transform")+" translate(10,10)");
svg2.insertBefore(whole2, whole);
},false);
Но еще один способ сделать setAttribute
линия будет:
group2.translate.baseVal.appendItem(newSVGTransformTranslation);
Где я застреваю, я могу позвонить
newSVGTransformTranslation =
new SVGTransform(SVGTransform.SVG_TRANSFORM_TRANSLATE);
но полученный объект не имеет setTranslate(x,y)
метод, который я ожидаю; ни каких сеттеров. странно group2.translate.baseVal.getItem(0)
есть, но нет методов клонирования или копирования.
Я должен использовать конструктор неправильно. У кого-нибудь есть пример правильной формы?
1 ответ
Решение
Смотрите SVGSVGElement.createSVGTransform.
Пример:
var tfm = svgroot.createSVGTransform();
tfm.setTranslate(x,y);