0

我正在尝试使用 non-deprecated method 使路径可拖动Element.transform()。这是使用不推荐使用的方法制作它的答案Element.translate()

在 Raphael js 中使路径和图像可拖动

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

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() {
     }
);

有任何想法吗 ?

4

1 回答 1

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() {
     }
);

它工作得很好。

于 2012-12-08T11:22:58.530 回答