2016-06-09 156 views
0

我的问题是事件onAnimationComplete在图表实际完成绘图之前触发。Chartjs - 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') 
    } 
}); 

回答

6

我想你没有定义动画。尝试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, 
}); 
+0

你是男人! thx很多 – omriman12

+0

现在我有一个不同的问题,我添加了一个完整的馅饼中间的文本。现在,当我悬停图表时,图表“重新创建”,文本消失并重新创建。设置tooltipes.enabled = false没有解决它。在“onanimationProgress”上创建文本确实解决了这个问题,但并不觉得这是正确的解决方案 – omriman12

相关问题