0

我一直在研究相当简单的 webkit 转换来创建(外行的)动画。我做得很好,除了一个问题,我还没有找到一些信息。开始:

描述:我有一个矩形 div,我使用 target.style.webkitTransform += 'rotateZ(90deg)' 旋转 90 度;这很好 - 我使用 target.style.webkitTransform += 'translate3d(50px, 0px, 0px)' 翻译它;

问题:当您旋转时,元素的轴也会旋转,如果您(例如)在 x 轴上平移,对象将沿新方向(元素面向的方向)移动,例如在上面的示例中向下 50 px (旋转后)。

我需要一种重新计算/重置轴(不改变旋转)的方法,以便动画对于外行来说是有意义的,即对于程序员来说,很容易看到对象面向不同的方向,但对于非技术用户来说,左边会永远留在左边。

要求:当用户说在 x 轴上移动 50px 时,它应该在 x 轴上移动 50px(对于用户),而不管旋转或任何其他预先应用到它的变换。

此外:我不会事先知道用户将如何操作对象,因此我不能采用固定值并解决它们,因此需要一个公式来重新计算/重置给定对象样式属性的所有内容并构造进一步的变换。

4

1 回答 1

0

如果您将 附加translate()到变换的末尾,那么它应该完全按照您指定的方式进行平移,而与之前的任何旋转无关。

于 2011-05-25T06:55:53.407 回答