2011-10-26 128 views
5

我用这个撞在墙上撞着我的头。我有raphael js版本2.0,我需要使图像以跨浏览器的方式旋转。我很乐意在CSS3中做到这一点,但并非所有浏览器都支持我需要做的事情。RaphaelJS旋转不起作用

所以,在拍完我的脑后,我去了拉斐尔的操场,并尝试了一些代码。在那里也不行。这里发生了什么?

去游乐场:http://raphaeljs.com/playground.html 运行这段代码,应该会看到一个方形的轮廓。 paper.rect(100,100,300,300).animate({rotation:“ - 45”},2000);

使用变换作品:

paper.rect(100,100,300,300).animate({变换: “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

这一个仍然在工作:http://raphaeljs.com/image-rotation.html – topek

回答

3

旋转属性似乎从2.0规范缺失。它存在于1.x中。我不知道这是为什么,但我无法在新文档中找到它。我预计这是一个疏忽,将在未来的小修改中予以纠正。

与此同时,您可以创建自己的动画处理程序,并根据您自己的缓动在每个打勾上调用.rotate。

+0

谢谢,我有一种感觉失去了一些东西。结果表明效果已从规格中删除。我觉得这是一次很好的学习经历,我感谢大家的回复。 – keith73

11

要去playground site和粘贴代码:

paper.rect(100, 100, 300,300).animate({transform:"r-45,0,0"}, 2000); 

旋转从绝对位置0,0的矩形。请参阅raphael js代码@github,这表明transform可以采用2或4个参数来实现旋转。