2016-06-09 155 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

相關問題