【发布时间】:2013-05-05 01:28:47
【问题描述】:
有没有办法使用 raphaeljs 库获取元素旋转值?我确定有,但我在文档中的任何地方都找不到。我想它是这样的 .attr('rotation') 但这不起作用。
【问题讨论】:
标签: get rotation raphael element
有没有办法使用 raphaeljs 库获取元素旋转值?我确定有,但我在文档中的任何地方都找不到。我想它是这样的 .attr('rotation') 但这不起作用。
【问题讨论】:
标签: get rotation raphael element
使用Element.transform() 函数获取当前转换数据并进行设置。
您可能已经知道element.transform(tstring) 设置变换数据,包括旋转。
要从 Raphael 取回该数据,只需调用 element.transform() 而不使用任何参数:
tstring = element.transform();`
希望对您有所帮助。
【讨论】:
我找到了四种获取 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]);
具体输出因先前应用的转换而异。
如果尚未应用任何转换,前两个将抛出“无法读取未定义的属性”错误,第二个将记录-0,第四个将记录undefined。
如果之前应用了 -90° 和 269.999°(含)之间的转换,则所有四个都记录该转换(尽管第三个将保留几位小数,第四个后面将是 @987654327 @)。
如果应用了超出上述范围的先前转换,则前两个记录完成转换,后两个记录一个相对于 360° 且小于 360° 的值(同样,第三个将关闭几位小数,第四位后跟0,0)。
文档:
http://raphaeljs.com/reference.html#Element.attr
【讨论】: