【发布时间】:2013-02-01 02:14:49
【问题描述】:
我正在尝试将数据更新动画化到使用 Highcharts 构建的饼图。
这是我一起编写的一个演示,展示了我正在尝试制作的动画的一个非常粗略的版本:http://jsfiddle.net/HsspB/
hack 使用 setInterval 实现动画:
var iTimer = setInterval(step, 25);
function step() {
iCurrent = Math.min(iCurrent+3, iFinal);
tChart.series[0].setData(
[
{ 'y': iCurrent, 'color': '#f2b000', 'name': null },
{ 'y': 100-iCurrent, 'color': '#fae09e', 'name': null }
],
true
);
if(iCurrent === iFinal) clearInterval(iTimer);
}
我没有使用那个确切的代码的原因是它显然是一个 hack,而且看起来 Highcharts 必须已经通过它的 API 使这成为可能,只要我知道如何表达它。
hack 完全是程序性的(而不是声明性的),这意味着我必须实际制定步骤并对步骤进行数学建模,而不是指定持续时间、过渡类型和缓动函数。
我想知道这是否是 Highcharts 提供的东西(大概是通过 chart.animation 属性),以及我如何着手实现它。如果没有明确的支持,我会对有关如何推出自己的方法的建议感兴趣,包括 Highcharts API 的其他相关部分是否比依赖完整的数据更新更适合这种工作(即系列.setData())。嘿——如果我可以通过 CSS 动画来做到这一点,那我也很酷。
(在考虑回退时,我使用的是 jQuery 1.8.3 和核心 jQueryUI 1.8.6)
感谢任何帮助。
【问题讨论】:
标签: javascript animation highcharts pie-chart css-animations