2012-04-03 4 views
0

Je veux copier un groupe svg mais je ne sais pas vraiment ce que je missed.Here le code: Pour le groupe:groupe svg de clonage

<g id="exCar" x="50" y="500" transform="" > 
    <path .. 
    <path ... 
    <image 
    <text .. 
</g> 

et la fonction copier:

function cloning(){ 
    var newCar = document.getElementById("exCar").cloneNode(true); 
    document.getElementById("newCar").setAttribute("x",250); 
    document.getElementById("newCar").setAttribute("y",600); 
    document.getElementById("exCar").appendChild(newCar); 
    alert("!!!!"); 
    }; 

S'il vous plaît aidez-moi à comprendre ce qui est faux ..

Répondre

0

au lieu de

document.getElementById("newCar").setAttribute("x",250); 

Il devrait être:

newCar.setAttribute("x", 250) 
+0

de tout ça .. Merci you.Can Je vous demande quelque chose de plus? J'ai transformé 'excar' en échelle. Et je veux utiliser 'newCar' même forme avec l'ex mais pas transformé.Est-ce possible? Le nouveau porte-t-il les caractéristiques d'ex? – Ecrin

+0

Vous devez cloner 'exCar' avant de le transformer, de sorte que' newCar' ne portera pas les fonctionnalités. cloneNode crée une copie profonde de l'objet, donc une fois que vous l'avez cloné, il aura toutes ses propriétés jusqu'à ce point. – mihai

+0

Ok.J'ai seulement besoin de la forme de l'exCar après mise à l'échelle.J'utiliserai newCar (avec la forme de ex) pour se déplacer.Est-il un moyen d'obtenir sa forme en chargeant l'image ou autre chose? La matrice transformée a tout embrouillé – Ecrin