0
任何人都知道爲什麼當我使用下面的代碼將矩陣應用於svg的整個路徑時,有一些問題,如settimeout函數完成時svg被剪切或跳躍? :如何將矩陣變換應用於整個svg的路徑而不僅僅是一條路徑?
var matrix = g.transform().localMatrix;
var mySet = g.selectAll('path');
mySet.forEach(function(el) {
var newPathString = Snap.path.map(el, matrix).toString();
el.attr({ d: newPathString });
});
var svg = g.select('svg');
var newObj = svg.clone();
s.g(newObj);
g.remove();
setTimeout(function(){alert(newObj.toString())},8000);
}, 7000);
});
編輯:我想要實現的是獲得應用了矩陣變換的svg路徑標記。
感謝Vlas,我加載了一個svg文件並試圖從該svg文件中獲取所有路徑。在這種情況下,你會建議從svg文件獲取entie路徑嗎? – user3117671
重新使用appendChild的路徑。 –
Robert,其實我用過這個:el.attr({d:newPathString})。appendChild();但它確實使代碼停止工作,我猜。我猜是因爲'appendChild是一個DOM方法(不是Snap方法)'。 – user3117671