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() 调用时重放图表动画

        ChartJS replay chart animation when called by show()(ChartJS 在 show() 调用时重放图表动画)

        <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() 调用时重放图表动画的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                  本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!

                  相关文档推荐

                  在开发JS过程中,会经常遇到两个小数相运算的情况,但是运算结果却与预期不同,调试一下发现计算结果竟然有那么长一串尾巴。如下图所示: 产生原因: JavaScript对小数运算会先转成二进制,运算完毕再转回十进制,过程中会有丢失,不过不是所有的小数间运算会
                  问题描述: 在javascript中引用js代码,然后导致反斜杠丢失,发现字符串中的所有\信息丢失。比如在js中引用input type=text onkeyup=value=value.replace(/[^\d]/g,) ,结果导致正则表达式中的\丢失。 问题原因: 该字符串含有\,javascript对字符串进行了转
                  Rails/Javascript: How to inject rails variables into (very) simple javascript(Rails/Javascript:如何将 rails 变量注入(非常)简单的 javascript)
                  CoffeeScript always returns in anonymous function(CoffeeScript 总是以匿名函数返回)
                  Ordinals in words javascript(javascript中的序数)
                  getFullYear returns year before on first day of year(getFullYear 在一年的第一天返回前一年)
                    <bdo id='6bpMn'></bdo><ul id='6bpMn'></ul>

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

                      <tbody id='6bpMn'></tbody>
                      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>