如何在jquery svg中动画部分组的动画?
我认为显而易见的解决方案是创建一个新组,然后将选定的节点添加到该新组并为其设置动画。但有没有办法将现有的svg节点添加到组中?
例如,我知道你可以这样做:
var g = svg.group({fill: 'red'});
var c1 = svg.circle(g, 75, 75, 20);
var c2 = svg.circle(g, 115, 75, 20);
var c3 = svg.circle(g, 155, 75, 20);
$(g).animate({svgTransform: 'translate(100)'}, 500);
但是,您可以创建一个组并向其添加现有节点吗?
否则,还有其他方法可以动态分组节点吗?
干杯。
答案 0 :(得分:0)
你有没有试过这样的事情:
var svgns = 'http://www.w3.org/2000/svg';
var svgRoot = document.getElementsByTagNameNS(svgns, 'svg')[0];
var newGroup = document.createElementNS(svgns, 'g');
var $newGroup = $(newGroup);
svgRoot.appendChild(newGroup);
var c1 = svg.circle(g, 75, 75, 20);
$newGroup.append(c1);