CSS3 动画变换:旋转。如何获取旋转元件的当前角度?
我正在开发一个使用拖放功能的 html5 界面。当我拖动一个元素时,目标会获得一个 css 类,这使得它由于 -webkit-animation 而双向旋转。
@-webkit-keyframes pulse {
0% { -webkit-transform: rotate(0deg); }
25% { -webkit-transform:rotate(-10deg); }
75% { -webkit-transform: rotate(10deg); }
100% { -webkit-transform: rotate(0deg); }
}
.drag
{
-webkit-animation-name: pulse;
-webkit-animation-duration: 1s;
-webkit-animation-iteration-count: infinite;
-webkit-animation-timing-function: ease-in-out;
}
当我放下目标时,我希望它采用当前的旋转状态。
我的第一个想法是使用 jquery 和 .css('-webkit-transform') 方法检查 css 属性。但这个方法只返回“none”。
所以我的问题:有没有办法获取通过动画旋转的元素的当前度数值?
到目前为止谢谢 亨德里克
i am working on a html5 interface wich uses drag and drop. While i am dragging an element, the target gets a css-class, which makes it bidirectionally rotate due to a -webkit-animation.
@-webkit-keyframes pulse {
0% { -webkit-transform: rotate(0deg); }
25% { -webkit-transform:rotate(-10deg); }
75% { -webkit-transform: rotate(10deg); }
100% { -webkit-transform: rotate(0deg); }
}
.drag
{
-webkit-animation-name: pulse;
-webkit-animation-duration: 1s;
-webkit-animation-iteration-count: infinite;
-webkit-animation-timing-function: ease-in-out;
}
When I drop the target, I want it to adopt the current state of rotation.
My first thought was to check the css property with jquery and the .css('-webkit-transform') method. But this method just returns 'none'.
So my question: Is there a way to get the current degree value of an element which is rotated via animation?
Thanks so far
Hendrik
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我最近必须编写一个函数来完全满足您的要求!请随意使用它:
希望这会有所帮助!
编辑我更新了代码以使用matrix3d字符串,但它仍然只给出2d旋转度数(即围绕Z轴的旋转)。
I recently had to write a function that does exactly what you want! Feel free to use it:
Hope this helps!
EDIT I updated the code to work with matrix3d strings, but it still only gives the 2d rotation degrees (ie. rotation around the Z axis).
window.getCompulatedStyle(element,null)['-webkit-transform'] 将返回表示当前变换矩阵的字符串。
您可以通过首先解析该字符串,然后对其应用一些数学计算来计算其旋转度数。
window.getComputedStyle(element,null)['-webkit-transform'] will return a string representing current transformation matrix.
You can calculate its rotation degree from that string by first parsing it, then applying a few maths on it.