在变换后计算新的(x,y)坐标&变换的起源?

时间:2013-05-07 16:27:38

标签: javascript matrix coordinates transform css-transforms

我有这个简单的小提示来展示我想要完成的事情:http://jsfiddle.net/eUSep/

正如您所看到的,我正在扩展我的test1 div并指定新的原点。如何在转换后计算test2的新位置(顶部,左侧)?必须根据原点和比例来计算,但我无法做到正确。

起初我以为我可以通过计算高度和宽度更改(基于当前比例和之前的比例),并从当前left减去一半,然后将另一半添加到width(伪代码):

var left = current_left - (width_change / 2);
var top = current_top - (height_change / 2 );

var right = current_left + width + (width_change / 2);
var bottom = current_top + height + (height_change / 2);

但是这并没有考虑到原点,我认为这只有在原点每次都在确切的中心时才有效。有谁知道我怎么能做到这一点?

1 个答案:

答案 0 :(得分:2)

实际上似乎Jquery Position会为我做的工作。

更新了小提琴:http://jsfiddle.net/eUSep/1/

我可以在转换之前和之后获得位置以查看更改:

var pos = $('#test2').position();