我正用这个把头撞在墙上。我有raphael js版本2.0,我需要让图像以跨浏览器的方式旋转。我很乐意在CSS3中做到这一点,但并非所有浏览器都支持我需要做的事情。
所以,在绞尽脑汁之后,我去了Raphael游乐场并在那里尝试了一些代码。在那里也不起作用。这是怎么回事?
去游乐场:http://raphaeljs.com/playground.html 运行此代码,应该看到正方形的轮廓。 paper.rect(100,100,300,300).animate({rotation:“ - 45”},2000);
使用转换工作:
paper.rect(100,100,300,300).animate({transform:“r45”},2000);
但不幸的是,转换时,我似乎无法指定一个中心点。我希望对象从左下角旋转。我可以用这段代码来做到这一点:
paper.rect(100,100,300,300).rotate(45,0,300)
但是没有动画,或接受缓和,或有任何回调。
我在几个例子中看过“轮换”,包括:
http://www.irunmywebsite.com/raphael/additionalhelp.php#PAGETOP http://net.tutsplus.com/tutorials/javascript-ajax/an-introduction-to-the-raphael-js-library/
感谢, - 基思
答案 0 :(得分:11)
转到playground site并粘贴此代码:
paper.rect(100, 100, 300,300).animate({transform:"r-45,0,0"}, 2000);
从绝对0,0位置旋转矩形。请参阅raphael js代码@ github,其中显示transform
可以采用2个或4个参数来实现轮换。
答案 1 :(得分:3)
2.0规范中似乎缺少rotation属性。它存在于1.x.我不知道为什么会这样,但我在新文档中找不到它。我希望这是一个疏忽,将在未来的小修订中得到纠正。
在此期间,您可以创建自己的动画处理程序,并根据您自己的缓动在每个刻度上调用.rotate。