使用onclick

时间:2018-09-16 03:32:31

标签: javascript jquery chart.js

我让自己熟悉Chart.js,想做一件简单的事情,但是做不到。我只希望图表在单击按钮时重新设置动画,但无法正常工作。我以为通过将chart.update附加到onclick会起作用,但是没有。感谢您的帮助。

http://jsfiddle.net/f7nj80ye/5/

$('#button1').click(function(){
  chart.update();
});

1 个答案:

答案 0 :(得分:3)

您需要销毁它,然后再次创建它:

var ctx = document.getElementById("myChart");

var config = {
  type: 'bar',
  data: {
    labels: ["2014", "2015", "2016"],
    datasets: [{
      label: 'Group 1',
      data: [50, -59, 64],
      datalabels:{
        anchor: "end",
        align: "end",
        color:"black",
        font:{ size: 14, },
      },
      backgroundColor: [ '#5bbbbb', '#5bbbbb4', '#5bbbbb' ],
      borderWidth: 1
    },{
      label: 'Group 2',
      data: [69, -85, 92],
      datalabels:{
        anchor: "end",
        align: "end",
        color:"black",
        font:{ size: 14, },
      },
      backgroundColor: ['#ddd','#ddd','#ddd'],
      borderWidth: 1
    }]
  },

  options: {
    scales: {
      yAxes: [{
        ticks: {
        beginAtZero:true,
        max:100
        }
      }]
    }
  }
};

var chart = new Chart(ctx, config);


(function() { // self calling function replaces document.ready()

//adding event listenr to button
    document.querySelector('#button1').addEventListener('click',function(){

    chart.destroy();
    chart = new Chart(ctx, config);
});

})();

这是一个小提琴:http://jsfiddle.net/f7nj80ye/30/