【发布时间】:2016-03-07 22:38:17
【问题描述】:
如何只更新变换属性中的rotate(19deg) 属性而不影响translate3d()、translate() 属性?
下面是我的 divs 属性。我想使用 JavaScript 仅操作 rotate() 属性,以便其他属性保持原样。
transform: translate3d(782px, 312px, 0px) translate(0px, 0px) rotate(19deg) translate(0px, 0px);
所以在使用 JavaScript 更新后,我的 divs 转换属性将如下所示:
transform: translate3d(782px, 312px, 0px) translate(0px, 0px) rotate(0deg) translate(0px, 0px);
注意rotate(0deg)
谢谢大家
【问题讨论】:
-
您需要在this answer 中执行类似操作。基本上提取当前的变换值,用正则表达式检查并酌情替换。
-
什么时候会发生这种变化,点击?还是?
-
@Harry 是的,我确实想到了这一点,但希望有一种更简单的方法!
-
@BrunoKos 是一个点击事件
-
@CecilTheodore:我认为没有更简单的方法。事实上,如果原始变换是通过 CSS 设置的(并且我们必须使用
getComputedStyle来获取原始变换值),它会变得更加棘手,因为它会返回一个需要重构的矩阵等价物。
标签: javascript css transform