2011-11-03 3 views
2

Я использую raphaeljs для создания серии диаграмм на холсте, и когда каждый новый график добавляется к холсту, я хочу перенести ряд изменений на предыдущие диаграммы (делая их меньше и перемещая их) - но эти анимации, похоже, не работают. Мне удалось анимировать удар, поэтому я предполагаю, что это по крайней мере возможно, но, судя по всему, мой синтаксис не будет работать. Вот мой код:canvas/raphael.js - анимация объекта на холсте

var chartArray = []; 

Raphael.fn.pieChart = function (cx, cy, r, rin, graphArray, stroke) { 

    var groupName; 
    var paper = this, 
     rad = Math.PI/180, 
     chart = this.set(); 

    function sector(cx, cy, r, startAngle, endAngle, params) { 
    return paper.path([ ... ]).attr(params); //creates each slice of the pie chart 
    } 

    ... 

    chartArray.push(chart); 
    return chart; 

} 

$('#clicker').click(function(){ 
    raphCanvas.pieChart(125, 125 + (graphID*10), 100, 50, graphArray, "#fff"); 
    chartArray[0][j].animate({stroke: "#000"}, 2000); //works to set the stroke of each item in the set to black 
    chartArray[0].animate({x: 0}, 2000); //does not work to move the x position of the set 
}); 
+1

Для записи Рафаэль что-то называется «холст» но это не HTML5 Canvas. Raphael - это 100% SVG/VML –

+0

Спасибо за разъяснение – mheavers

+0

Также ... сделал raphael избавиться от метода animateAlong? Больше не смотрите в документах ... – mheavers

ответ

0

В Рафаэле, вы не можете просто живой «х» атрибут, вы должны использовать перевод, например:

var moveX = 100; 
var moveY = 0; 
view.animate({translation : (moveX)+" , "+(moveY)},500,function(){ 
    console.log("finished"); 
}); 
Смежные вопросы