0

我正在使用 Highcharts v.2.3.3 并构建了一个饼图。当用户点击某个东西时,我可以用另一个图表替换该图表,但替换会立即发生。有没有办法让第一个饼图淡出而新饼图淡入,所以有“模糊”效果?

注意:当前第一个饼图在构建新图表之前被删除。

4

2 回答 2

0

我会像这样使用 jquery 淡出当前图表容器:

$('#ChartContainer').fadeOut();

然后我会用新的图表替换图表并使用 jquery fadeIn() 将图表重新显示在视图中。

编辑

jquery fadeOut/fadeIn 函数的第一个参数是可选的速度参数,因此您可以对动画进行计时,以便它们“模糊”在一起。

于 2013-04-05T16:42:21.690 回答
0

我找到了解决方案。我使用 jquery 克隆了第一个图表的 svg 元素并将其附加到绝对位于图表区域上方的 div 中。然后,我使用该“虚拟”图表进行淡出动画,而无需在第二个图表中淡入淡出。

var clonedChart = $('#chartContainer').find('svg').clone();
$('<div class="cloned_chart"></div>').append(clonedChart).appendTo('#pieChartWrapper');

// delete first chart and create second one
....

// chart creation callback
$('.cloned_chart').fadeOut('slow', function(){
  $(this).remove();
});
于 2013-04-05T18:35:39.777 回答