2016-06-07 78 views
1

我正在使用Chart.js绘制饼图,但它在第一次加载时不会播放动画 - 但是如果我重新加载它,它会执行动画。我究竟做错了什么?Chart.js在第一次加载时没有动画

代码:

function make_chart(ctx, data, type="pie"){ 
    var theChart = new Chart(ctx, { 
     type: type, 
     data: data, 
     animate:{ 
      animateRotate: true, 
      duration: 1000, 
      animateScale: true, 
      animationSteps: 15 
     } 

    }) 
    return theChart; 
} 

function example(ctx) { 
    var data = { 
    labels: [ 
     "Red", 
     "Blue", 
     "Yellow" 
    ], 
    datasets: [ 
     { 
      data: [300, 50, 100], 
      backgroundColor: [ 
       "#FF6384", 
       "#36A2EB", 
       "#FFCE56" 
      ] 

     }] 
    }; 
    return make_chart(ctx,data); 
} 

$(function() { 
     example($("#chart")); 
}); 

感谢

+0

尽管它在$ document.ready()中运行,也许不是所有的东西都被初始化了。我建议尝试在$ document.ready()中的示例函数上使用setTimeout。 –

回答

1

也许打电话给你的例子功能。

(function() { 
     example($("#chart")); 
})(); 
+0

你是什么意思?你的意思是在document.ready之后调用它,或者在控制台中单独调用它。也许我的问题还不够清楚 - 它运行在document.ready中,并创建一个没有**动画的图表**。如果我在控制台中运行它,它将创建一个包含**动画的图表** –

+0

您是否介意将它放在jsfiddle中,以便我可以运行它? – wot

+0

嗯,我需要能够玩它来帮助你:/ – wot

相关问题