【发布时间】:2016-01-26 17:54:16
【问题描述】:
我想画一个 D3 饼图。最初,弧段将被隐藏,然后我想逐个地为它们设置动画,以使它们可见,以响应应用程序流中的键盘/鼠标事件。
应用程序流程是线性的:例如第 1 部分,为第一个弧段设置动画以使其可见。第 2 部分,为第二段设置动画以使其可见。第 3 部分等,直到馅饼完全可见。
我有兴趣使用 Swiper 项目 - http://www.idangero.us/swiper/api/#.VqemYVOLQmI - 所以移动到每张幻灯片会触发一个事件,使弧可见(即 onSlideChangeEnd 将显示每个连续弧)
我可以采取的一种方法是将饼图部分绘制为最初不可见,然后使用样式转换使其可见:
d3.selectAll(“.segment1”).transition().duration(500).style("fill", "#7FB9E6”);
这可以使每个顺序弧可见以响应每个事件。
但这并不是我想要的外观 - 我希望弧形填充上的动画看起来像是从左向右移动,例如在这种“扫地”动画中:http://jsfiddle.net/thmain/xL48ru9k/1/
如果我不使用 D3 更新数据,是否可以使用这种动画(即图表已经创建,我只是希望弧线按顺序显示以响应事件)。
我是动画/补间的新手,非常感谢您的帮助。谢谢。
【问题讨论】:
标签: javascript d3.js