错误:<g> 属性转换:预期为“(”

bre*_*two 1 javascript css svg css-transforms

希望有人知道该怎么做并可以帮助我:

\n\n

一个函数可以做到这一点:

\n\n
element.setAttributeNS(null, \'transform\', s);\nif (\'transform\' in element.style) {\n  element.style.transform = s;\n} else if (\'-ms-transform\' in element.style) {\n  element.style[\'-ms-transform\'] = s;\n} else if (\'-webkit-transform\' in element.style) {\n  element.style[\'-webkit-transform\'] = s;\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

其中“s”是这样的:\ns = \'matrix(\' + matrix.a + \',\' + matrix.b + \',\' + matrix.c + \',\' + matrix.d + \',\' + matrix.e + \',\' + matrix.f + \')\'

\n\n

它与此完美配合。\n对于硬件加速,我想添加+ \' translateZ(0)\'“s”。

\n\n

执行此操作后,我收到以下错误:

\n\n
\n

错误:< g> 属性转换:需要 \'(\', "\xe2\x80\xa639394) 翻译 Z(0)"。

\n
\n\n

我也尝试过没有“+”并直接连接。也许有人知道我做错了什么。

\n\n

更新

\n\n

我将“s”更改为:\ns = \'matrix3d(\' + matrix.a + \',\' + matrix.b + \',\' + 0 + \',\' + 0 + \',\' + matrix.c + \',\' + matrix.d + \',\' + 0 + \',\' + 0 + \',\' + 0 + \',\' + 0 + \',\' + 1 + \',\' + 0 + \',\' + matrix.e + \',\' + matrix.f + \',\' + 0 + \',\' + 1 + \')\';由于同事的想法,

\n\n

不幸的是同样的错误:

\n\n
\n

错误:< g> 属性转换:需要 \'(\', "matrix3d(2.03961675842\xe2\x80\xa6"。

\n
\n

wui*_*wui 7

当我不小心输入时,我遇到了完全相同的错误

.attr("transform", `matrix3d(${this.transformToArray(matrix)})`)
Run Code Online (Sandbox Code Playgroud)

代替

.style("transform", `matrix3d(${this.transformToArray(matrix)})`)
Run Code Online (Sandbox Code Playgroud)

在D3。请注意,该错误与转换无关,而是与 D3 函数有关。只是为了帮助使用 D3 并找到这篇文章的人:)

  • 对于像我这样想要花很长一段时间试图找出两者之间区别的人来说,一个是“.attr(...)”,一个是“.style(...)” - 我一直在寻找位于参数,而不是函数名称。 (5认同)