有没有办法使用 raphaeljs 库获取元素旋转值?我确定有,但我在文档中的任何地方都找不到。我想它是这样的 .attr('rotation') 但这不起作用。
问问题
1331 次
2 回答
3
以下是我发现的四种获取 Raphaël 元素旋转值的方法:
console.log(el.attr('transform')[0][1]);
console.log(el.transform()[0][1]);
console.log(el.matrix.split().rotate);
console.log(el.matrix.toTransformString().split('r')[1]);
特定输出因先前应用的转换而异。
如果尚未应用任何转换,则前两个将抛出“无法读取未定义的属性”错误,第二个将 log
-0
,第四个将 logundefined
。如果之前应用了 -90° 和 269.999°(含)之间的转换,则所有四个都记录该转换(尽管第三个将偏移几位小数,第四个将紧随其后
0,0
)。如果应用了上述范围之外的先前转换,则前两个记录完成转换,后两个记录一个相对于 360° 且小于 360° 的值(同样,第三个将偏移几位小数,并且第四将紧随其后
0,0
)。如果对元素应用了多个转换,这些转换将被推送到前两个访问的数组上,因此需要相应地调整第一个括号符号索引(或者它只会记录应用的第一个旋转,而不是所有旋转的总和)。
文档:
http://raphaeljs.com/reference.html#Element.attr
于 2014-09-26T17:18:46.857 回答
3
使用该Element.transform()
函数获取当前转换数据并对其进行设置。
您可能已经知道element.transform(tstring)
设置变换数据,包括旋转。
要从 Raphael 取回该数据,只需element.transform()
不带任何参数调用:
tstring = element.transform();`
希望有帮助。
于 2013-05-05T07:29:07.510 回答