我的问题是事件onAnimationComplete
在图表实际完成绘图之前触发。
我使用的是ASP.NET MVC。
这是我的代码:
HTML:
<canvas id="scanedTodayChart" width="100" height="100"></canvas>
JS:
var scanedTodayChartCtx = document.getElementById("scanedTodayChart").getContext("2d");
var scanedTodayChart = new Chart(scanedTodayChartCtx, {
type: 'pie',
data: {
labels: [
"Red",
"White",
],
datasets: [
{
data: [10, 100],
backgroundColor: [
"#DA1A32",
"#F0FFFF"
],
borderWidth: false,
borderColor: false
}]
},
options: {
cutoutPercentage: 90,
},
borderColor: '#DA1A32',
fullWidth: true,
onAnimationComplete: new function () {
alert('onAnimationComplete')
}
});
答案 0 :(得分:7)
我认为你没有定义动画。在this example处找到Chart.js documentation。
var scanedTodayChart = new Chart(scanedTodayChartCtx, {
type: 'pie',
data: {
labels: [
"Red",
"White",
],
datasets: [
{
data: [10, 100],
backgroundColor: [
"#DA1A32",
"#F0FFFF"
],
borderWidth: false,
borderColor: false
}]
},
options: {
cutoutPercentage: 90,
animation: {
duration: 2000,
onProgress: function(animation) {
$progress.attr({
value: animation.animationObject.currentStep / animation.animationObject.numSteps,
});
},
onComplete: function(animation) {
alert('onAnimationComplete')
}
}
},
borderColor: '#DA1A32',
fullWidth: true,
});