2016-06-07 114 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

相關問題