我正在玩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)
确实拥有它,但没有可用的克隆或复制方法。
我必须错误地使用构造函数。有没有人有正确形式的例子?
答案 0 :(得分:6)
请参阅SVGSVGElement.createSVGTransform。
一个例子:
var tfm = svgroot.createSVGTransform();
tfm.setTranslate(x,y);