gRaphael - анимация линейного графика не удалась

У меня возникла проблема с библиотекой линейных диаграмм gRaphael javascript.

Я строю линейную диаграмму из файла CSV с пятью столбцами (количество минут, время, время ожидания, лечение, закрыто, местонахождение).

Раньше я мог рисовать полную диаграмму без анимации. У него правильно были все четыре строки и т. Д.

Теперь мой код не работает с функцией анимации. Вот ошибка:

Uncaught TypeError: объект # не имеет метода 'animate'

Я предполагаю, что jQuery каким-то образом возится с функцией анимации и пытается взять ее в свои руки.

        function animateChart(newX, newW, newInT, newC, newInL){
            var chart2 = paper.linechart(
                20, 20, // padding
                newX.length, 400, // dimensions
                newX, [newW, newInT, newC, newInL] // values
            );

            for (i = 0; i < chart.lines.length; i++){
                elem = chart.lines[i][0];
                elem.animate({ path: chart2.lines[i][0].getAttribute("d") }, 200);
            }

            chart2.remove();
        }

Полный код:

http://pastebin.com/YmvkrmQ3

У меня загружены следующие библиотеки по порядку:

  1. Рафаэль-min.js
  2. g.raphael-min.js
  3. g.line.min.js
  4. jquery.js

Заранее благодарю за любую помощь.

ОБНОВЛЕНИЕ: проблема заключается в методе анимации. Несмотря на то, что я вызываю метод для элемента пути, я получаю сообщение об ошибке. Я до сих пор не знаю, почему Рафаэль не распознает элемент пути как элемент пути.

Я попытался отключить jQuery (и заменить его функцию ajax ванильным javascript), но это не помогло.


person Klemola    schedule 02.10.2012    source источник
comment
Можете ли вы сделать пример jsfiddle.net   -  person Neil    schedule 02.10.2012
comment
и попытайтесь выяснить, какой тип elem, скорее всего, это просто не объект пути Рафаэля   -  person Qnan    schedule 02.10.2012
comment
Элемент является элементом пути. Это не пространство имен jQuery, но похоже, что jQuery все еще пытается запустить свою собственную функцию animate() для элемента. Я не могу легко сделать скрипку, потому что мне нужно загрузить CSV, а в примере используются 4 библиотеки. Я посмотрю, смогу ли я где-нибудь опубликовать текущие файлы.   -  person Klemola    schedule 03.10.2012


Ответы (1)


Вероятно, у вас есть элемент пути SVG, а не элемент пути Raphael. Вероятно, это [0] в конце elem = chart.lines[i][0];.

person Plynx    schedule 03.10.2012
comment
@Klemola мы все были там :) - person Plynx; 03.10.2012
comment
Может ли кто-нибудь уточнить это? Ссылка на pastebin не работает. Я также пытаюсь анимировать линейную диаграмму gRaphael, используя ту же технику. - person AndrewHenderson; 11.03.2013