出於特定原因,我必須進行組翻譯(SVG)。我不知道爲什麼我不能正確完成它,因爲翻譯完成後,在另一個單擊組上,它將重置翻譯到開始位置,並使我的傻瓜在SVG畫布上跑來跑去。 我寫的準系統例如在鏈接:http://www.atarado.com/en/stripboard-layout-software/group-translation-problem.svg,這裏是代碼:SVG組翻譯問題
<svg xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink">
<script><![CDATA[
function startMove(evt){
x1=evt.clientX;
y1=evt.clientY;
group=evt.target.parentNode;
group.setAttribute("onmousemove","moveIt(evt)");
}
function moveIt(evt){
dx=evt.clientX-x1;
dy=evt.clientY-y1;
group.setAttributeNS(null,"transform","translate("+ dx + ", " + dy +")");
}
function drop(){
group.setAttributeNS(null, "onmousemove",null);
}
]]></script>
<rect x="0" y="0" width="100%" height="100%" fill="dodgerblue"/>
<g id="BC" transform="translate(0, 0)" onmousedown="startMove(evt)" onmouseup="drop()"><circle id="C" cx="60" cy="60" r="22" fill="lightgrey" stroke="black" stroke-width="8"/><circle id="B" cx="120" cy="60" r="22" fill="orange" stroke="black" stroke-width="8" /></g>
</svg>
任何人都願意幫助是值得歡迎的。
你可能會對這個例子感興趣:http://phrogz.net/SVG/drag_under_transformation.xhtml – Phrogz
謝謝你的例子,它很有教育意義。 – Alex