javascript - Chart JS 使用 onclick 重新动画图表

标签 javascript jquery chart.js

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

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

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

最佳答案

你需要销毁它,然后重新创建它:

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);
});

})();

这是一个 fiddle :http://jsfiddle.net/f7nj80ye/30/

关于javascript - Chart JS 使用 onclick 重新动画图表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52350719/

相关文章:

javascript - 更新状态时 react 失去对输入的关注。一次只能更新一个字符

javascript - 状态解构仅适用于箭头函数类方法?

php - Jquery显示来自mysql的文本

javascript - 使用 jQuery 设计单页网站

javascript - Chart.js - 当浏览器语言不是英语时,x 轴和工具提示标签在 Chrome 中显示 "undefined"

javascript - JavaScript 最长重复子串

javascript - 控制 Google Mx 的缩放级别

php - jQuery Ajax 返回整个页面

javascript - 有没有办法将部分标题更改为另一种字体样式或在 Chart.js 中设置自定义标题格式?

javascript - 使用 toDataURL() 的多个 Canvas 图像(由 Chart.js 提供)