Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/475.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Highcharts:禁用特定事件的动画_Javascript_Animation_Events_Charts_Highcharts - Fatal编程技术网

Javascript Highcharts:禁用特定事件的动画

Javascript Highcharts:禁用特定事件的动画,javascript,animation,events,charts,highcharts,Javascript,Animation,Events,Charts,Highcharts,有没有办法在整个图表中暂时禁用动画?“我的图表”有一个加载事件,该事件会导致图表的轴改变位置,因此不需要为此设置动画。尽管如此,我还是希望整个图表中的动画处于活动状态,这样,如果有人与图表交互(例如,勾选图例项),则更新将设置动画 我做了一个示例图表 在本例中,加载图表后,spacingBottom会发生更改。这会导致我想要禁用的动画(xAxis向上移动),但我似乎无法确定如何专门禁用轴的动画 如果我只是禁用所有动画(chart.animation=false),则会禁用有问题的动画,但这也意味

有没有办法在整个图表中暂时禁用动画?“我的图表”有一个加载事件,该事件会导致图表的轴改变位置,因此不需要为此设置动画。尽管如此,我还是希望整个图表中的动画处于活动状态,这样,如果有人与图表交互(例如,勾选图例项),则更新将设置动画

我做了一个示例图表

在本例中,加载图表后,spacingBottom会发生更改。这会导致我想要禁用的动画(xAxis向上移动),但我似乎无法确定如何专门禁用轴的动画

如果我只是禁用所有动画(chart.animation=false),则会禁用有问题的动画,但这也意味着禁用我要保留的所有其他动画

您可以看到,我试图在渲染时添加一个额外的事件(当前已注释掉),但实际上浏览器无法处理加载和渲染事件的额外工作负载。除非我遗漏了什么


如果我能在加载事件期间禁用所有动画,那就太好了

我不确定这是否是一个适用于所有情况的解决方案,但它似乎确实适用于您的解决方案

通过为redraw参数传递false,可以告诉update不要重画。然后,通过为动画参数传递false,可以在没有动画的情况下重新绘制


我可以确认这适用于我目前使用的所有图表,包括直线图、柱形图和饼图。因此,列的初始动画被禁用,但这不是什么大问题。非常感谢。
var chart = new Highcharts.chart({
  chart: {
    //animation: false,
    type: 'spline',
    width: 600,
    renderTo: 'chart-container',
    events: {
      load: function() {
        this.update({
          chart: { spacingBottom: 50 }
        })
      }/*,
      render: function() {
        this.update({
          chart: {
            animation: true
          }
        })
      }*/
    }
  },
  title: {
    text: 'Title',
    align: 'left'
  },
  subtitle: {
    text: 'Subtitle',
    align: 'left'
  },
  series: [{
    name: 'First series',
    data: [50,60,70,80],
    color: '#5995ae'
  }, 
    {
    name: 'Second series',
    data: [43,53,43,49],
    color: '#cf921c'
  }, 
    {
    name: 'Third series',
    data: [49,38,51,79],
    color: '#abd309'
  }]
});
events: {
    load: function() {
    this.update({
        chart: { spacingBottom: 50 }
    }, false);
    this.redraw(false);
  }