1. <legend id='YEZRM'><style id='YEZRM'><dir id='YEZRM'><q id='YEZRM'></q></dir></style></legend>

      • <bdo id='YEZRM'></bdo><ul id='YEZRM'></ul>

      1. <tfoot id='YEZRM'></tfoot>

      2. <small id='YEZRM'></small><noframes id='YEZRM'>

        <i id='YEZRM'><tr id='YEZRM'><dt id='YEZRM'><q id='YEZRM'><span id='YEZRM'><b id='YEZRM'><form id='YEZRM'><ins id='YEZRM'></ins><ul id='YEZRM'></ul><sub id='YEZRM'></sub></form><legend id='YEZRM'></legend><bdo id='YEZRM'><pre id='YEZRM'><center id='YEZRM'></center></pre></bdo></b><th id='YEZRM'></th></span></q></dt></tr></i><div id='YEZRM'><tfoot id='YEZRM'></tfoot><dl id='YEZRM'><fieldset id='YEZRM'></fieldset></dl></div>

        ChartJS 在 show() 调用时重放图表动画

        时间:2023-11-01

        <small id='eqF1w'></small><noframes id='eqF1w'>

          • <tfoot id='eqF1w'></tfoot><legend id='eqF1w'><style id='eqF1w'><dir id='eqF1w'><q id='eqF1w'></q></dir></style></legend>
            <i id='eqF1w'><tr id='eqF1w'><dt id='eqF1w'><q id='eqF1w'><span id='eqF1w'><b id='eqF1w'><form id='eqF1w'><ins id='eqF1w'></ins><ul id='eqF1w'></ul><sub id='eqF1w'></sub></form><legend id='eqF1w'></legend><bdo id='eqF1w'><pre id='eqF1w'><center id='eqF1w'></center></pre></bdo></b><th id='eqF1w'></th></span></q></dt></tr></i><div id='eqF1w'><tfoot id='eqF1w'></tfoot><dl id='eqF1w'><fieldset id='eqF1w'></fieldset></dl></div>

            • <bdo id='eqF1w'></bdo><ul id='eqF1w'></ul>

                  <tbody id='eqF1w'></tbody>

                1. 本文介绍了ChartJS 在 show() 调用时重放图表动画的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                  问题描述

                  我有一个充满图表的页面,它会自动生成所有可用的图表(因为默认页面是所有图表").其中有一个选择部门标签,它将隐藏除所选部门拥有的图表之外的所有图表.这是我的代码:

                  I have a page full of charts that automatically generates all charts available (because the default page is "All Charts"). In it, there's a select department tag that will hide all charts other than those owned by the selected department. Here's my code:

                  $(window).load(function(){
                              $('#department').change(function(){
                                  active_department($(this).val());
                              });
                  
                              function active_department(department){
                                  for(var i = 0; i < dept['namedept'].length; i++){
                                      if(department!='All'){
                                          $('.'+dept['namedept'][i]).hide(500);
                                      } else {
                                          if(typeof rCharts[dept['namedept'][i]] != 'undefined'){
                                              $('.'+dept['namedept'][i]).show(500);
                                          } else {
                                              $('.no-chart-'+dept['namedept'][i]).hide(500);
                                          }
                                      }
                                  }
                                  if(typeof rCharts[department] != 'undefined'){
                                      $('.'+department).show(500);
                                  } else {
                                      $('.no-chart-'+department).hide(500);
                                  }
                              }
                          });
                  

                  我希望每次选择部门时都能重新出现 ChartJS 动画.到目前为止,我已经尝试过 easing、onProgress 和 jQuery animate.没有工作.是否可以重新动画图表?如果有,怎么做?

                  I want ChartJS animation to re-appear every time I select a department. So far I've tried easing, onProgress, and jQuery animate. none's working. Is it possible to re-animate the chart? If so, how?

                  推荐答案

                  来自 this answer 和缺少选项在 Docs 中可用,看起来唯一可行的选项是这些技巧:

                  From this answer and from the lack of options available in the Docs, it looks like the only feasible options would be these hacks:

                  • 使用 new Chart
                  • 用 JS 重绘图表
                  • 更改一些小配置,或重新创建图表数据的实例,然后调用 update() 方法.
                  • redraw the chart with JS using new Chart or
                  • change some minor configuration, or recreate an instance of the chart data and then call the update() method.

                  e.g.:通过函数调用数据,当你想让动画发生时,再次调用相同的函数.因为它现在有一个新数组(即使它是相同的数据),所以图表会重新设置动画.

                  e.g.: Call the data through a function, and when you want the animation to happen, call the same function again. Because it now has a new array (even though it's the same data), the chart re-animates.

                  <script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.5.0/Chart.min.js"></script>
                  
                  	<button onclick="updateChart()">Update</button>
                      <canvas id="myChart"></canvas>
                      <script>
                      
                          var ctx = document.getElementById('myChart').getContext('2d');
                  		
                  		var chartData = {
                  			type: 'line',
                  			data: {
                  				labels: ["January", "February", "March", "April", "May", "June", "July"],
                  				datasets: createDataset()
                  			}
                          };
                          var chart = new Chart(ctx, chartData);
                  		
                  		function updateChart(){
                  			chartData.data.datasets = createDataset()
                  			chart.update();
                  		}
                  		
                  		function createDataset(){
                  			return [{
                                  label: "My First dataset",
                                  backgroundColor: 'rgb(255, 99, 132)',
                                  borderColor: 'rgb(255, 99, 132)',
                                  data: [0, 10, 5, 2, 20, 30, 45],
                  				fill: false
                              }];
                  		}
                      //ignore next line, it's to deal with a bug from chartjs cdn on stackoverflow
                      console.clear();
                      </script>

                  这篇关于ChartJS 在 show() 调用时重放图表动画的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                  上一篇:使用不同大小的数据集更新 chart.js 图表 下一篇:如何在charts.js 中旋转饼图?

                  相关文章

                    <bdo id='6bpMn'></bdo><ul id='6bpMn'></ul>

                  <small id='6bpMn'></small><noframes id='6bpMn'>

                  1. <i id='6bpMn'><tr id='6bpMn'><dt id='6bpMn'><q id='6bpMn'><span id='6bpMn'><b id='6bpMn'><form id='6bpMn'><ins id='6bpMn'></ins><ul id='6bpMn'></ul><sub id='6bpMn'></sub></form><legend id='6bpMn'></legend><bdo id='6bpMn'><pre id='6bpMn'><center id='6bpMn'></center></pre></bdo></b><th id='6bpMn'></th></span></q></dt></tr></i><div id='6bpMn'><tfoot id='6bpMn'></tfoot><dl id='6bpMn'><fieldset id='6bpMn'></fieldset></dl></div>
                    1. <legend id='6bpMn'><style id='6bpMn'><dir id='6bpMn'><q id='6bpMn'></q></dir></style></legend>

                      <tfoot id='6bpMn'></tfoot>