2012-05-10 41 views
2

我试图用4片切片创建一种圆形旋转木马,通过点击一个切片,它会扩大到显示其内容的饼图的2/3(其他切片将同样缩小) 基本上,我开始与拉斐尔“成长馅饼”演示http://raphaeljs.com/growing-pie.html 并修改了一下,以获得这种行为。Raphael JS Pie:旋转切片

但我坚持最后一步,当一个切片被点击并展开它应该旋转并放置在顶部(0°的偏移角度)...我想我需要知道每个角度的确切角度切片动画()函数和任意改变它,但我不知道该怎么做。

function animate(ms) { 
var start = 150, 
    val; 
for (i = 0; i <= 3; i++) { 

    val = 360/total * data[i]; 

    paths[i].animate({ 
     segment: [200, 200, 150, start, start += val] 
    }, ms || 1500, "bounce"); 
    paths[i].angle = start - val/2; 
} 

rotateCircle(); 

}

这里http://jsfiddle.net/ExFCb/32/有我确实努力

+0

的例子并不做任何事情,只是显示一个灰色的屏幕 – mihai

回答

1

的例子看看更新小提琴http://jsfiddle.net/ExFCb/72/

基本上,你必须设置在每个正确rerotate变量周期。

if (i === 0) { 
    data = [240, 40, 40, 40]; 
    rerotate = 0; 
} 

等等......

+1

它仍然出问题,对我不工作... –