Javascript Highcharts:禁用特定事件的动画
有没有办法在整个图表中暂时禁用动画?“我的图表”有一个加载事件,该事件会导致图表的轴改变位置,因此不需要为此设置动画。尽管如此,我还是希望整个图表中的动画处于活动状态,这样,如果有人与图表交互(例如,勾选图例项),则更新将设置动画 我做了一个示例图表 在本例中,加载图表后,spacingBottom会发生更改。这会导致我想要禁用的动画(xAxis向上移动),但我似乎无法确定如何专门禁用轴的动画 如果我只是禁用所有动画(chart.animation=false),则会禁用有问题的动画,但这也意味着禁用我要保留的所有其他动画 您可以看到,我试图在渲染时添加一个额外的事件(当前已注释掉),但实际上浏览器无法处理加载和渲染事件的额外工作负载。除非我遗漏了什么Javascript Highcharts:禁用特定事件的动画,javascript,animation,events,charts,highcharts,Javascript,Animation,Events,Charts,Highcharts,有没有办法在整个图表中暂时禁用动画?“我的图表”有一个加载事件,该事件会导致图表的轴改变位置,因此不需要为此设置动画。尽管如此,我还是希望整个图表中的动画处于活动状态,这样,如果有人与图表交互(例如,勾选图例项),则更新将设置动画 我做了一个示例图表 在本例中,加载图表后,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);
}