【发布时间】:2011-12-07 19:49:59
【问题描述】:
我正在尝试调整 Raphaël 网站上不断增长的 pie 演示,以满足我自己的需要。 http://raphaeljs.com/growing-pie.html
演示几乎是完美的,但我希望用户能够拖动切片的边缘来调整它们的大小,而不是点击它们。这不仅更直观,而且允许精确调整大小,而不是演示中的阶梯式方法。
我该怎么做呢?提前致谢。
【问题讨论】:
-
不容易。您需要单独的“饼片边缘”对象来捕获拖动事件和一些三角函数来计算新切片一旦被放下时的角度。玩得开心!
-
一般来说这是最聪明的方法,还是仅仅因为我正在调整这段代码?它不一定是“成长派”演示的确切代码。
-
绘制对象很容易,确定规则并创建 UI 以拖动切片的边缘以增加其大小是困难的部分。我认为这个不断增长的饼图演示是一个很好的起点——它相当简单,并展示了如何捕获切片的单击事件,您需要扩展它以便可以捕获边缘上的拖动开始/鼠标向下事件。
-
这个运气好吗?我将探索在 d3.js 之上实现这一点
-
我最终放弃了我的天上掉馅饼的梦想,并做了一个界面,允许用户循环切片并通过键盘控制增加/减少切片。如果你有幸使用 d3.js 制作出更壮观的东西,请随时告诉我:)
标签: javascript svg raphael