Raphael.js中使用transform()方法的可拖动路径

时间:2012-12-07 19:32:28

标签: javascript javascript-events path drag-and-drop raphael

我正在尝试使用非弃用的方法Element.transform()创建一个可拖动的路径。以下是使用弃用方法Element.translate():

的答案

Making paths and images draggable in Raphael js

当我简单地用transform()替换translate()时,我的路径会很快回到初始位置:

drag(function (dx, dy) {
       var trans_x = dx - this.ox;
       var trans_y = dy - this.oy;

       this.transform("t" + trans_x + "," + trans_y);
       this.ox = dx;
       this.oy = dy;
     }, 
     function () {
       this.ox = 0;
       this.oy = 0;
     },
     function() {
     }
);

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

我找到了解决方案!

只需使用transform()的附加语法即.transform(" ... t" + .. + ...)

所以这是我的最终结果:

drag(function (dx, dy) {
       var trans_x = dx - this.ox;
       var trans_y = dy - this.oy;

       this.transform("...t" + trans_x + "," + trans_y); //Just change this line
       this.ox = dx;
       this.oy = dy;
     }, 
     function () {
       this.ox = 0;
       this.oy = 0;
     },
     function() {
     }
);

它完美无缺。