Я работаю с svg через Raphael.js, и мне нужно свернуть SVG-группу и показать ее при клике.
Я попытался использовать атрибут видимости SVG-группы и изменить его при нажатии., но это нормально с сокрытием, но оно не появляется обратно;
const GroupCollapse = function(paper) {
const $svg = paper.canvas; // #mysvg is SVG doc
const g = document.createElementNS('http://www.w3.org/2000/svg', 'svg');
$svg.appendChild(g);
this.paper = paper;
this.node = g;
this.attrs = {};
this._ = {};
this.add = function (el) {
g.appendChild(el.node);
};
};
GroupCollapse.prototype = Raphael.el;
Raphael.fn.groupCollapse = function(... args) {
return new GroupCollapse(this, ... args)
};
Это моя реализация пользовательской группы.Затем я создаю его следующим образом:
let gc = paper.groupCollapse();
Я делаю его «скрытым», и у меня есть функция, позволяющая сделать его видимым, который не работает.
function showCollapsed() {
gc.visibility = "visible";
}
Я хочу иметьSVG группа кругов Рафаэля, которая сворачивается в один круг и разворачивается при нажатии на этот круг.Не могли бы вы помочь мне и показать лучший способ сделать это.Спасибо!