【发布时间】:2018-09-23 20:19:54
【问题描述】:
希望有人知道该怎么做并可以帮助我:
一个函数会这样做:
element.setAttributeNS(null, 'transform', s);
if ('transform' in element.style) {
element.style.transform = s;
} else if ('-ms-transform' in element.style) {
element.style['-ms-transform'] = s;
} else if ('-webkit-transform' in element.style) {
element.style['-webkit-transform'] = s;
}
这里的“s”是:
s = 'matrix(' + matrix.a + ',' + matrix.b + ',' + matrix.c + ',' + matrix.d + ',' + matrix.e + ',' + matrix.f + ')'
它与此完美搭配。
对于硬件加速,我想将+ ' translateZ(0)' 添加到“s”。
执行此操作后,我收到以下错误:
错误:
属性转换:预期为 '(', "…39394) translateZ(0)"。
我也试过不带“+”直接连接。也许有人知道我做错了什么。
更新
我将“s”改为:
s = 'matrix3d(' + matrix.a + ',' + matrix.b + ',' + 0 + ',' + 0 + ',' + matrix.c + ',' + matrix.d + ',' + 0 + ',' + 0 + ',' + 0 + ',' + 0 + ',' + 1 + ',' + 0 + ',' + matrix.e + ',' + matrix.f + ',' + 0 + ',' + 1 + ')'; 因为一个同事的想法。
不幸的是同样的错误:
错误:
属性转换:应为 '(', "matrix3d(2.03961675842..."。
【问题讨论】:
-
当使用矩阵时,我猜你不能附加其他东西
-
正如@TemaniAfif 提到的,您确定可以在矩阵后面附加
translateZ()吗? -
@zeropublix 不,我不确定:/ 我刚刚读到它,他们说它有效。 “由于我不是专业人士,我不确定这是正确的方法。
-
啊,你应该添加 SVG 标签...现在我在标题中看到了
g -
@TemaniAfif 在哪里添加 svg 标签?
标签: javascript css svg css-transforms