Перетащите SVG с помощью Raphael JS - PullRequest
2 голосов
/ 20 января 2012

Нужен совет (пример был бы хорош) по перетаскиванию SVG с использованием RaphaelJS.

Я нашел, как перетащить объект, созданный с помощью Рафаэля

window.onload = function() {
var R = Raphael("canvas", 500, 500);    
var c = R.circle(100, 100, 50).attr({
    fill: "hsb(.8, 1, 1)",
    stroke: "none",
    opacity: .5
});
var start = function () {
...
},
move = function (dx, dy) {
...
},
up = function () {
...
};
c.drag(move, start, up);    
};​

Но мне нужно иметь возможность адаптировать это для работы с отдельными файлами SVG, например, myPage.html имеет myImage.svg, мне нужно иметь возможность перетаскивать myImage.svg вокруг «холста». Я думаю что-то вроде

var c = R.SOMEMETHOD('myImage.svg');
...
c.drag(move, start, up);

Например.

Есть ли способ сделать это, и если это так, пример будет блестящим!

1 Ответ

0 голосов
/ 20 января 2012

Этот магический метод не существует в RaphaelJS. Но есть способ сделать это. Вы можете взглянуть на проект raphael-svg-import на GitHub , который хорошо работает для основных svgs

Затем вы захотите использовать средство группировки , поскольку вы не можете использовать функциональность Set RaphaelJS

1 - import your SVG
2 - As you import, mark the elements so they belong to the same group

Наслаждайтесь !!

...