gpt4 book ai didi

javascript - 从 matrix3d 获取精确的旋转 Angular

转载 作者:太空宇宙 更新时间:2023-11-04 03:46:35 25 4
gpt4 key购买 nike

我有一些元素

<div id="element"></div>

旋转变换样式

-webkit-transform: rotateX(-1100deg);

有没有办法从计算样式中获得精确的 (-1100) 旋转 Angular ?

window.getComputedStyle 返回 matrix3d。

var element = document.getElementById('element'),
cs = getComputedStyle(element),
matrix = new WebKitCSSMatrix(cs['-webkit-transform']);

但是如何从这个矩阵中检索旋转 Angular 呢?

我需要计算样式,因为我试图在元素过渡期间获取 Angular 。

最佳答案

我找不到一个简单的方法来做到这一点,但在 this article 的帮助下我设法获得了值(value)(有点)。

var myElement = document.getElementById('element');
var myTransform = window.getComputedStyle(myElement,null)
var myTransform = myTransform.getPropertyValue("-webkit-transform");
var myTransform = myTransform.split(' ');
var myX = myTransform[6].split(",")[0];
var angle = Math.round(Math.asin(myX) * (180/Math.PI));
console.log(angle);

它返回 -20,即 -360 * 3 = -1080 + 添加的 20 度旋转。 -20。评论中的一些人注意到当 Angular 超过 180 度时它不起作用并提供 a solution ,但它只适用于 360 度。

我认为如果使用 javascript 动态控制元素的转换会容易得多,因为没有更简单的方法来获取旋转的 getComputedStyle 值。

关于javascript - 从 matrix3d 获取精确的旋转 Angular ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24013335/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com