Raphael 2.0+, , translate ('t'), :
someElement.animate({transform: ['t',100,100]}, 1000);
someElement.attr({transform: ['t',100,100]});
. , ...
someElement.animate({transform: ['t',100,100]}, 1000, function(){
someElement.animate({transform: ['t',50,50]}, 1000);
});
... 100px, 50px, 50px . ( , - "T" "t", )
, , , , , , , , .
, . :
1: someElement.data() *:
someElement.data('t',[100,100]);
var translate = someElement.data('t');
2: someElement.transform(), , *:
var transform = someElement.data();
for (var i = transform.length - 1; i >= 0; i--) {
if(transform[i][0].toLowerCase() == 't') {
var translate = [ transform[i][1], transform[i][2] ];
break;
}
};
* , 't' 'T'
, ...
someElement.animate({transform: ['t',100,100]}, 1000, function(){
someElement.animate({transform: ['t',50+translate[0],50+translate[1] ]}, 1000);
});
Do not try to use getBBox()this (the standard way to get the position of a Raphael element for any type of element). getBBox()will include any movement without translation, for example, movement M in determining the path.